<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">

<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>SHORTSTACK API</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/prettify.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>

<!--  Generated by Natural Docs, version 1.52 -->
<!--  http://www.naturaldocs.org  -->

<!-- saved from url=(0026)http://www.naturaldocs.org -->




<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="SHORTSTACK_API"></a>SHORTSTACK API</h1><div class=CBody><p>Function prototypes for the ShortStack LonTalk Compact API.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#SHORTSTACK_API" >SHORTSTACK API</a></td><td class=SDescription>Function prototypes for the ShortStack LonTalk Compact API.</td></tr><tr class="SSection"><td class=SEntry><a href="#API_FUNCTIONS" >API FUNCTIONS</a></td><td class=SDescription>This section details the ShortStack LonTalk Compact API functions.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonInit" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">LonInit</a></td><td class=SDescription>Initializes the ShortStack LonTalk Compact API and Micro Server</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonReinit" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">LonReinit</a></td><td class=SDescription><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">LonApiError</a></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonExit" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">LonExit</a></td><td class=SDescription>Closes down the serial driver, prepares the application for exiting.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonEventHandler" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">LonEventHandler</a></td><td class=SDescription>Periodic service to the ShortStack LonTalk Compact API.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonPollNv" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">LonPollNv</a></td><td class=SDescription>Polls a bound, polling, input network variable.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonPropagateNv" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">LonPropagateNv</a></td><td class=SDescription>Propagates the value of a bound output network variable to the network.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonGetDeclaredNvSize" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">LonGetDeclaredNvSize</a></td><td class=SDescription>Gets the declared size of a network variable.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonGetNvValue" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">LonGetNvValue</a></td><td class=SDescription>Returns a pointer to the network variable value.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonSendResponse" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">LonSendResponse</a></td><td class=SDescription>Sends a response.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonGetUniqueId" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">LonGetUniqueId</a></td><td class=SDescription>Returns the unique ID (Neuron ID).</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonGetVersion" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">LonGetVersion</a></td><td class=SDescription>Provides the link layer protocol version number.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonSendServicePin" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">LonSendServicePin</a></td><td class=SDescription>Propagates a service pin message.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonSendReset" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">LonSendReset</a></td><td class=SDescription>Sends a reset message.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonGetLastResetNotification" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">LonGetLastResetNotification</a></td><td class=SDescription>Returns a pointer to the most recent reset notification, if any.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonSendMsg" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">LonSendMsg</a></td><td class=SDescription>Send an explicit (non-NV) message.</td></tr><tr class="SSection"><td class=SEntry><a href="#EXTENDED_OPTIONAL_API_FUNCTIONS" >EXTENDED OPTIONAL API FUNCTIONS</a></td><td class=SDescription>This section details extended API functions:  query functions, update functions, and utility functions. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonQueryDomainConfig" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">LonQueryDomainConfig</a></td><td class=SDescription>Request a copy of a local domain table record.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonQueryNvConfig" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')">LonQueryNvConfig</a></td><td class=SDescription>Request a copy of network variable configuration data.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonQueryAliasConfig" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')">LonQueryAliasConfig</a></td><td class=SDescription>Request a copy of alias configuration data.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonQueryAddressConfig" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')">LonQueryAddressConfig</a></td><td class=SDescription>Request a copy of address table configuration data.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonQueryConfigData" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')">LonQueryConfigData</a></td><td class=SDescription>Request a copy of local configuration data.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonQueryStatus" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')">LonQueryStatus</a></td><td class=SDescription>Request local status and statistics.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonQueryTransceiverStatus" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')">LonQueryTransceiverStatus</a></td><td class=SDescription>Request local transceiver status information.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonGoOnline" >LonGoOnline</a></td><td class=SDescription>Puts the local node online.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonGoOffline" >LonGoOffline</a></td><td class=SDescription>Puts the local node offline.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonUpdateAddressConfig" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')">LonUpdateAddressConfig</a></td><td class=SDescription>Updates an address table record on the Micro Server.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonUpdateAliasConfig" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')">LonUpdateAliasConfig</a></td><td class=SDescription>Updates a local alias table record.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonUpdateConfigData" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')">LonUpdateConfigData</a></td><td class=SDescription>Updates the configuration data on the Micro Server.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonUpdateDomainConfig" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')">LonUpdateDomainConfig</a></td><td class=SDescription>Updates a domain table record in the Micro Server.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonUpdateNvConfig" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')">LonUpdateNvConfig</a></td><td class=SDescription>Updates a network variable configuration table record in the Micro Server.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonClearStatus" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')">LonClearStatus</a></td><td class=SDescription>Clears the status statistics on the Micro Server.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonSendPing" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')">LonSendPing</a></td><td class=SDescription>Sends a ping command to the ShortStack Micro Server.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonNvIsBound" id=link31 onMouseOver="ShowTip(event, 'tt31', 'link31')" onMouseOut="HideTip('tt31')">LonNvIsBound</a></td><td class=SDescription>Sends a command to the ShortStack Micro Server to query whether a given network variable is bound.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonMtIsBound" id=link32 onMouseOver="ShowTip(event, 'tt32', 'link32')" onMouseOut="HideTip('tt32')">LonMtIsBound</a></td><td class=SDescription>Sends a command to the ShortStack Micro Server to query whether a given message tag is bound.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonGoUnconfigured" id=link33 onMouseOver="ShowTip(event, 'tt33', 'link33')" onMouseOut="HideTip('tt33')">LonGoUnconfigured</a></td><td class=SDescription>Puts the local node into the unconfigured state.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonGoConfigured" id=link34 onMouseOver="ShowTip(event, 'tt34', 'link34')" onMouseOut="HideTip('tt34')">LonGoConfigured</a></td><td class=SDescription>Puts the local node into the configured state.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonQueryAppSignature" id=link35 onMouseOver="ShowTip(event, 'tt35', 'link35')" onMouseOut="HideTip('tt35')">LonQueryAppSignature</a></td><td class=SDescription>Queries the Micro Server&rsquo;s current version of the host application signature.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonQueryVersion" id=link36 onMouseOver="ShowTip(event, 'tt36', 'link36')" onMouseOut="HideTip('tt36')">LonQueryVersion</a></td><td class=SDescription>Request version details from the Micro Server</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonRequestEcho" id=link37 onMouseOver="ShowTip(event, 'tt37', 'link37')" onMouseOut="HideTip('tt37')">LonRequestEcho</a></td><td class=SDescription>Sends arbitrary test data to the Micro Server and requests a modulated echo.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonSetPostResetPause" id=link38 onMouseOver="ShowTip(event, 'tt38', 'link38')" onMouseOut="HideTip('tt38')">LonSetPostResetPause</a></td><td class=SDescription>Configures the Micro Server&rsquo;s post-reset pause as 0 (zero, disabled) or in the 1..255ms range.</td></tr><tr class="SSection"><td class=SEntry><a href="#CALLBACK_HANDLER_PROTOTYPES" >CALLBACK HANDLER PROTOTYPES</a></td><td class=SDescription>Following are the prototypes for the Shortstack LonTalk Compact host API callback handler functions. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonResetOccurred" id=link39 onMouseOver="ShowTip(event, 'tt39', 'link39')" onMouseOut="HideTip('tt39')">LonResetOccurred</a></td><td class=SDescription>Occurs when the Micro Server has completed a reset.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonWink" id=link40 onMouseOver="ShowTip(event, 'tt40', 'link40')" onMouseOut="HideTip('tt40')">LonWink</a></td><td class=SDescription>Occurs when the Micro Server has received a WINK command.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonOffline" id=link41 onMouseOver="ShowTip(event, 'tt41', 'link41')" onMouseOut="HideTip('tt41')">LonOffline</a></td><td class=SDescription>Occurs when the Micro Server has received a command to enter the offline state.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonOnline" id=link42 onMouseOver="ShowTip(event, 'tt42', 'link42')" onMouseOut="HideTip('tt42')">LonOnline</a></td><td class=SDescription>Occurs when the Micro Server has received a command to enter the online state.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonServicePinPressed" id=link43 onMouseOver="ShowTip(event, 'tt43', 'link43')" onMouseOut="HideTip('tt43')">LonServicePinPressed</a></td><td class=SDescription>Occurs when the service pin has been activated.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonServicePinHeld" id=link44 onMouseOver="ShowTip(event, 'tt44', 'link44')" onMouseOut="HideTip('tt44')">LonServicePinHeld</a></td><td class=SDescription>Occurs when the service pin has been continuously activated for a configurable time.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonServicePinEvent" id=link45 onMouseOver="ShowTip(event, 'tt45', 'link45')" onMouseOut="HideTip('tt45')">LonServicePinEvent</a></td><td class=SDescription>Occurs when the service pin has been activated or held.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonNvUpdateOccurred" id=link46 onMouseOver="ShowTip(event, 'tt46', 'link46')" onMouseOut="HideTip('tt46')">LonNvUpdateOccurred</a></td><td class=SDescription>Occurs when new input network variable data has arrived.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonNvUpdateCompleted" id=link47 onMouseOver="ShowTip(event, 'tt47', 'link47')" onMouseOut="HideTip('tt47')">LonNvUpdateCompleted</a></td><td class=SDescription>Signals completion of a network variable update</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonGetCurrentNvSize" id=link48 onMouseOver="ShowTip(event, 'tt48', 'link48')" onMouseOut="HideTip('tt48')">LonGetCurrentNvSize</a></td><td class=SDescription>Gets the current size of a network variable.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonNvdDeserializeNvs" id=link49 onMouseOver="ShowTip(event, 'tt49', 'link49')" onMouseOut="HideTip('tt49')">LonNvdDeserializeNvs</a></td><td class=SDescription>Initializes the network variable values from non-volatile storage.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonNvdSerializeNvs" id=link50 onMouseOver="ShowTip(event, 'tt50', 'link50')" onMouseOut="HideTip('tt50')">LonNvdSerializeNvs</a></td><td class=SDescription>Updates the persistent network variable values in non-volatile storage.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonMsgArrived" id=link51 onMouseOver="ShowTip(event, 'tt51', 'link51')" onMouseOut="HideTip('tt51')">LonMsgArrived</a></td><td class=SDescription>Occurs when an application message arrives.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonResponseArrived" id=link52 onMouseOver="ShowTip(event, 'tt52', 'link52')" onMouseOut="HideTip('tt52')">LonResponseArrived</a></td><td class=SDescription>Occurs when a response arrived.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonMsgCompleted" id=link53 onMouseOver="ShowTip(event, 'tt53', 'link53')" onMouseOut="HideTip('tt53')">LonMsgCompleted</a></td><td class=SDescription>Occurs when a message transaction has completed. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonDomainConfigReceived" id=link54 onMouseOver="ShowTip(event, 'tt54', 'link54')" onMouseOut="HideTip('tt54')">LonDomainConfigReceived</a></td><td class=SDescription>Callback following call to <a href="#LonQueryDomainConfig" class=LFunction id=link55 onMouseOver="ShowTip(event, 'tt17', 'link55')" onMouseOut="HideTip('tt17')">LonQueryDomainConfig</a>.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonNvConfigReceived" id=link56 onMouseOver="ShowTip(event, 'tt55', 'link56')" onMouseOut="HideTip('tt55')">LonNvConfigReceived</a></td><td class=SDescription>Callback following call to <a href="#LonQueryNvConfig" class=LFunction id=link57 onMouseOver="ShowTip(event, 'tt18', 'link57')" onMouseOut="HideTip('tt18')">LonQueryNvConfig</a>.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonAliasConfigReceived" id=link58 onMouseOver="ShowTip(event, 'tt56', 'link58')" onMouseOut="HideTip('tt56')">LonAliasConfigReceived</a></td><td class=SDescription>Callback following call to <a href="#LonQueryAliasConfig" class=LFunction id=link59 onMouseOver="ShowTip(event, 'tt19', 'link59')" onMouseOut="HideTip('tt19')">LonQueryAliasConfig</a>.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonAddressConfigReceived" id=link60 onMouseOver="ShowTip(event, 'tt57', 'link60')" onMouseOut="HideTip('tt57')">LonAddressConfigReceived</a></td><td class=SDescription>Callback following call to <a href="#LonQueryAddressConfig" class=LFunction id=link61 onMouseOver="ShowTip(event, 'tt20', 'link61')" onMouseOut="HideTip('tt20')">LonQueryAddressConfig</a>.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonConfigDataReceived" id=link62 onMouseOver="ShowTip(event, 'tt58', 'link62')" onMouseOut="HideTip('tt58')">LonConfigDataReceived</a></td><td class=SDescription>Callback following call to <a href="#LonQueryConfigData" class=LFunction id=link63 onMouseOver="ShowTip(event, 'tt21', 'link63')" onMouseOut="HideTip('tt21')">LonQueryConfigData</a>.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonStatusReceived" id=link64 onMouseOver="ShowTip(event, 'tt59', 'link64')" onMouseOut="HideTip('tt59')">LonStatusReceived</a></td><td class=SDescription>Callback following call to <a href="#LonQueryStatus" class=LFunction id=link65 onMouseOver="ShowTip(event, 'tt22', 'link65')" onMouseOut="HideTip('tt22')">LonQueryStatus</a>.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonTransceiverStatusReceived" id=link66 onMouseOver="ShowTip(event, 'tt60', 'link66')" onMouseOut="HideTip('tt60')">LonTransceiverStatusReceived</a></td><td class=SDescription>Callback following a call to <a href="#LonQueryTransceiverStatus" class=LFunction id=link67 onMouseOver="ShowTip(event, 'tt23', 'link67')" onMouseOut="HideTip('tt23')">LonQueryTransceiverStatus</a>.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonTranslateWindowArea" id=link68 onMouseOver="ShowTip(event, 'tt61', 'link68')" onMouseOut="HideTip('tt61')">LonTranslateWindowArea</a></td><td class=SDescription>Utility function to translate DMF addresses.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonMemoryRead" id=link69 onMouseOver="ShowTip(event, 'tt62', 'link69')" onMouseOut="HideTip('tt62')">LonMemoryRead</a></td><td class=SDescription>Read memory in the ShortStack device&rsquo;s memory space.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonMemoryWrite" id=link70 onMouseOver="ShowTip(event, 'tt63', 'link70')" onMouseOut="HideTip('tt63')">LonMemoryWrite</a></td><td class=SDescription>Update memory in the ShortStack device&rsquo;s memory space.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonPingReceived" id=link71 onMouseOver="ShowTip(event, 'tt64', 'link71')" onMouseOut="HideTip('tt64')">LonPingReceived</a></td><td class=SDescription>The ShortStack Micro Server has sent a ping command.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonNvIsBoundReceived" id=link72 onMouseOver="ShowTip(event, 'tt65', 'link72')" onMouseOut="HideTip('tt65')">LonNvIsBoundReceived</a></td><td class=SDescription>Callback following a call to <a href="#LonNvIsBound" class=LFunction id=link73 onMouseOver="ShowTip(event, 'tt31', 'link73')" onMouseOut="HideTip('tt31')">LonNvIsBound</a>.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonMtIsBoundReceived" id=link74 onMouseOver="ShowTip(event, 'tt66', 'link74')" onMouseOut="HideTip('tt66')">LonMtIsBoundReceived</a></td><td class=SDescription>Callback following a call to <a href="#LonMtIsBound" class=LFunction id=link75 onMouseOver="ShowTip(event, 'tt32', 'link75')" onMouseOut="HideTip('tt32')">LonMtIsBound</a>.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonGoUnconfiguredReceived" id=link76 onMouseOver="ShowTip(event, 'tt67', 'link76')" onMouseOut="HideTip('tt67')">LonGoUnconfiguredReceived</a></td><td class=SDescription>Callback following a call to <a href="#LonGoUnconfigured" class=LFunction id=link77 onMouseOver="ShowTip(event, 'tt33', 'link77')" onMouseOut="HideTip('tt33')">LonGoUnconfigured</a>.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonGoConfiguredReceived" id=link78 onMouseOver="ShowTip(event, 'tt68', 'link78')" onMouseOut="HideTip('tt68')">LonGoConfiguredReceived</a></td><td class=SDescription>Callback following a call to <a href="#LonGoConfigured" class=LFunction id=link79 onMouseOver="ShowTip(event, 'tt34', 'link79')" onMouseOut="HideTip('tt34')">LonGoConfigured</a>.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonAppSignatureReceived" id=link80 onMouseOver="ShowTip(event, 'tt69', 'link80')" onMouseOut="HideTip('tt69')">LonAppSignatureReceived</a></td><td class=SDescription>Callback following a call to <a href="#LonQueryAppSignature" class=LFunction id=link81 onMouseOver="ShowTip(event, 'tt35', 'link81')" onMouseOut="HideTip('tt35')">LonQueryAppSignature</a>.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonVersionReceived" id=link82 onMouseOver="ShowTip(event, 'tt70', 'link82')" onMouseOut="HideTip('tt70')">LonVersionReceived</a></td><td class=SDescription>Callback following a call to <a href="#LonQueryVersion" class=LFunction id=link83 onMouseOver="ShowTip(event, 'tt36', 'link83')" onMouseOut="HideTip('tt36')">LonQueryVersion</a>.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonEchoReceived" id=link84 onMouseOver="ShowTip(event, 'tt71', 'link84')" onMouseOut="HideTip('tt71')">LonEchoReceived</a></td><td class=SDescription>Callback following a call to <a href="#LonRequestEcho" class=LFunction id=link85 onMouseOver="ShowTip(event, 'tt37', 'link85')" onMouseOut="HideTip('tt37')">LonRequestEcho</a>.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonCustomCommunicationParameters" id=link86 onMouseOver="ShowTip(event, 'tt72', 'link86')" onMouseOut="HideTip('tt72')">LonCustomCommunicationParameters</a></td><td class=SDescription>Callback to enforce application-specific communication parameters.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonEncrypt" id=link87 onMouseOver="ShowTip(event, 'tt73', 'link87')" onMouseOut="HideTip('tt73')">LonEncrypt</a></td><td class=SDescription>Callback to engage the application-specific encryption algorithm.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonDecipher" id=link88 onMouseOver="ShowTip(event, 'tt74', 'link88')" onMouseOut="HideTip('tt74')">LonDecipher</a></td><td class=SDescription>Callback to engage the application-specific decryption algorithm.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#LonResume" id=link89 onMouseOver="ShowTip(event, 'tt75', 'link89')" onMouseOut="HideTip('tt75')">LonResume</a></td><td class=SDescription>Resumes a suspended link layer driver.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#LonSuspend" id=link90 onMouseOver="ShowTip(event, 'tt76', 'link90')" onMouseOut="HideTip('tt76')">LonSuspend</a></td><td class=SDescription>Suspends a link layer driver.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="API_FUNCTIONS"></a>API FUNCTIONS</h2><div class=CBody><p>This section details the ShortStack LonTalk Compact API functions.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonInit" id=link91 onMouseOver="ShowTip(event, 'tt1', 'link91')" onMouseOut="HideTip('tt1')">LonInit</a></td><td class=SDescription>Initializes the ShortStack LonTalk Compact API and Micro Server</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonReinit" id=link92 onMouseOver="ShowTip(event, 'tt2', 'link92')" onMouseOut="HideTip('tt2')">LonReinit</a></td><td class=SDescription><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link93 onMouseOver="ShowTip(event, 'tt3', 'link93')" onMouseOut="HideTip('tt3')">LonApiError</a></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonExit" id=link94 onMouseOver="ShowTip(event, 'tt4', 'link94')" onMouseOut="HideTip('tt4')">LonExit</a></td><td class=SDescription>Closes down the serial driver, prepares the application for exiting.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonEventHandler" id=link95 onMouseOver="ShowTip(event, 'tt5', 'link95')" onMouseOut="HideTip('tt5')">LonEventHandler</a></td><td class=SDescription>Periodic service to the ShortStack LonTalk Compact API.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonPollNv" id=link96 onMouseOver="ShowTip(event, 'tt6', 'link96')" onMouseOut="HideTip('tt6')">LonPollNv</a></td><td class=SDescription>Polls a bound, polling, input network variable.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonPropagateNv" id=link97 onMouseOver="ShowTip(event, 'tt7', 'link97')" onMouseOut="HideTip('tt7')">LonPropagateNv</a></td><td class=SDescription>Propagates the value of a bound output network variable to the network.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonGetDeclaredNvSize" id=link98 onMouseOver="ShowTip(event, 'tt8', 'link98')" onMouseOut="HideTip('tt8')">LonGetDeclaredNvSize</a></td><td class=SDescription>Gets the declared size of a network variable.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonGetNvValue" id=link99 onMouseOver="ShowTip(event, 'tt9', 'link99')" onMouseOut="HideTip('tt9')">LonGetNvValue</a></td><td class=SDescription>Returns a pointer to the network variable value.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonSendResponse" id=link100 onMouseOver="ShowTip(event, 'tt10', 'link100')" onMouseOut="HideTip('tt10')">LonSendResponse</a></td><td class=SDescription>Sends a response.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonGetUniqueId" id=link101 onMouseOver="ShowTip(event, 'tt11', 'link101')" onMouseOut="HideTip('tt11')">LonGetUniqueId</a></td><td class=SDescription>Returns the unique ID (Neuron ID).</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonGetVersion" id=link102 onMouseOver="ShowTip(event, 'tt12', 'link102')" onMouseOut="HideTip('tt12')">LonGetVersion</a></td><td class=SDescription>Provides the link layer protocol version number.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonSendServicePin" id=link103 onMouseOver="ShowTip(event, 'tt13', 'link103')" onMouseOut="HideTip('tt13')">LonSendServicePin</a></td><td class=SDescription>Propagates a service pin message.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonSendReset" id=link104 onMouseOver="ShowTip(event, 'tt14', 'link104')" onMouseOut="HideTip('tt14')">LonSendReset</a></td><td class=SDescription>Sends a reset message.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonGetLastResetNotification" id=link105 onMouseOver="ShowTip(event, 'tt15', 'link105')" onMouseOut="HideTip('tt15')">LonGetLastResetNotification</a></td><td class=SDescription>Returns a pointer to the most recent reset notification, if any.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonSendMsg" id=link106 onMouseOver="ShowTip(event, 'tt16', 'link106')" onMouseOut="HideTip('tt16')">LonSendMsg</a></td><td class=SDescription>Send an explicit (non-NV) message.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonInit"></a>LonInit</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonInit(</td><td class="PType  prettyprint " nowrap>LdvCtrl&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>ctrl</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Initializes the ShortStack LonTalk Compact API and Micro Server</p><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link107 onMouseOver="ShowTip(event, 'tt3', 'link107')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>The function returns a <a href="ShortStackTypes-h.html#LonApiError" class=LType id=link108 onMouseOver="ShowTip(event, 'tt3', 'link108')" onMouseOut="HideTip('tt3')">LonApiError</a> code to indicate success or failure.&nbsp; The function must be called during application initialization, and prior to invoking any other function of the ShortStack LonTalk Compact API.&nbsp; Note that the Micro Server disables all network communication until this function completes successfully.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonReinit"></a>LonReinit</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonReinit(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link109 onMouseOver="ShowTip(event, 'tt3', 'link109')" onMouseOut="HideTip('tt3')">LonApiError</a></p><p>The function takes no arguments.&nbsp; It is called from within <a href="#LonInit" class=LFunction id=link110 onMouseOver="ShowTip(event, 'tt1', 'link110')" onMouseOut="HideTip('tt1')">LonInit</a>, but can also be called later during the lifetime of the application in order to re-initialize the Micro Server and framework without having to restart the link layer driver.&nbsp; This is sometimes used by advanced applications which implement pseudo- dynamic interfaces.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonExit"></a>LonExit</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonExit(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Closes down the serial driver, prepares the application for exiting.</p><p>Note some platforms do not support application termination.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonEventHandler"></a>LonEventHandler</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonEventHandler(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Periodic service to the ShortStack LonTalk Compact API.</p><h4 class=CHeading>Remarks</h4><p>This function must be called periodically by the application.&nbsp;  This function processes any messages that have been received from the Micro Server.&nbsp; The application can call this function as part of the idle loop, or from a dedicated timer-based thread or interrupt service routine.&nbsp; All API callback functions occur within this function&rsquo;s context.&nbsp; Note that the application is responsible for correct context management and thread synchronization, as (and if) required by the hosting platform.</p><p>This function must be called at least once every 10 ms.&nbsp;  Use the following formula to determine the minimum call rate: rate = MaxPacketRate / (InputBufferCount - 1) where MaxPacketRate is the maximum number of packets per second arriving for the device and InputBufferCount is the number of input buffers defined for the application.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonPollNv"></a>LonPollNv</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonPollNv(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Polls a bound, polling, input network variable.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>local index of the input network variable</td></tr></table><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link111 onMouseOver="ShowTip(event, 'tt3', 'link111')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Call this function to poll an input network variable.&nbsp; Polling an input network variable causes this device to solicit all devices that have output network variables connected to this input network variable to send their latest value for the corresponding network variable.</p><p>The function returns LonApiNoError if the message is successfully put in the transmit queue to send.&nbsp; It is accompanied by the <a href="#LonNvUpdateCompleted" class=LFunction id=link112 onMouseOver="ShowTip(event, 'tt47', 'link112')" onMouseOut="HideTip('tt47')">LonNvUpdateCompleted</a> completion event.&nbsp; Note the successful completion of this function does not indicate the successful arrival of the requested values.&nbsp; The values received in response to this poll are reported by a series of <a href="#LonNvUpdateOccurred" class=LFunction id=link113 onMouseOver="ShowTip(event, 'tt46', 'link113')" onMouseOut="HideTip('tt46')">LonNvUpdateOccurred</a> callback invocations.</p><p>LonPollNv operates on bound input network variables that have been declared with the Neuron C <b>polled</b> attribute, only.&nbsp; Also, only output network variables that are bound to the input network variable will be received.</p><p>Note that it is <b>not</b> an error to poll an unbound polling input network variable.&nbsp;  If this is done, the application will not receive any LonNvUpdateOccurred() events, but will receive a LonNvUpdateCompleted() event with the &lsquo;success&rsquo; parameter set to TRUE.</p><p>Do not use the LonPollNv() function with a network variable that is connected using the standard ISI enrollment process.&nbsp; Network variable connections made with the standard ISI enrollment process are based on unbounded groups (group addressing with group size of zero); this addressing mode is not appropriate for use with the LonPollNv() function or any other acknowledged or request/ response service.&nbsp; See the User&rsquo;s Guide for more information about the use of those service types with ISI.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonPropagateNv"></a>LonPropagateNv</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonPropagateNv(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Propagates the value of a bound output network variable to the network.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>the local index of the network variable</td></tr></table><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link114 onMouseOver="ShowTip(event, 'tt3', 'link114')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>This function returns LonApiNoError if the outgoing NV-update message has been buffered by the driver, otherwise, an appropriate error code is returned.&nbsp; See <a href="#LonNvUpdateCompleted" class=LFunction id=link115 onMouseOver="ShowTip(event, 'tt47', 'link115')" onMouseOut="HideTip('tt47')">LonNvUpdateCompleted</a> for the completion event that accompanies this API.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonGetDeclaredNvSize"></a>LonGetDeclaredNvSize</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const unsigned LonGetDeclaredNvSize(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the declared size of a network variable.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>the local index of the network variable</td></tr></table><h4 class=CHeading>Returns</h4><p>Declared initial size of the network variable as defined in the Neuron C model file.&nbsp; Zero if the network variable corresponding to index doesn&rsquo;t exist.</p><p>Note that this function <b>could</b> be called from the LonGetCurrentNvSize() callback.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonGetNvValue"></a>LonGetNvValue</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern volatile void* const LonGetNvValue(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns a pointer to the network variable value.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>the index of the network variable</td></tr></table><h4 class=CHeading>Returns</h4><p>Pointer to the network variable value, or NULL if invalid.</p><h4 class=CHeading>Remarks</h4><p>Use this function to obtain a pointer to the network variable value.&nbsp; Typically ShortStack applications use the global variable created by the LonTalk Interface Developer directly when accessing network variable values.&nbsp; This function can be used to obtain a pointer to the network variable value.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonSendResponse"></a>LonSendResponse</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonSendResponse(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonCorrelator&nbsp;</td><td class="PParameter  prettyprint " nowrap>correlator,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonByte&nbsp;</td><td class="PParameter  prettyprint " nowrap>code,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const LonByte*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>length</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sends a response.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>correlator</td><td class=CDLDescription>message correlator obtained with <a href="#LonMsgArrived" class=LFunction id=link116 onMouseOver="ShowTip(event, 'tt51', 'link116')" onMouseOut="HideTip('tt51')">LonMsgArrived</a></td></tr><tr><td class=CDLEntry>code</td><td class=CDLDescription>response message code</td></tr><tr><td class=CDLEntry>pData</td><td class=CDLDescription>pointer to response data, can be NULL iff len is zero</td></tr><tr><td class=CDLEntry>length</td><td class=CDLDescription>number of valid response data bytes in pData</td></tr></table><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link117 onMouseOver="ShowTip(event, 'tt3', 'link117')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>This function is called to send an explicit message response.&nbsp;  The correlator is passed in to <a href="#LonMsgArrived" class=LFunction id=link118 onMouseOver="ShowTip(event, 'tt51', 'link118')" onMouseOut="HideTip('tt51')">LonMsgArrived</a> and must be copied and saved if the response is to be sent after returning from that routine.&nbsp;  A response code should be in the 0x00..0x2f range.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonGetUniqueId"></a>LonGetUniqueId</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonGetUniqueId(</td><td class="PTypePrefix  prettyprint " nowrap>LonUniqueId*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pId</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the unique ID (Neuron ID).</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pId</td><td class=CDLDescription>pointer to the buffer to hold the unique ID</td></tr></table><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link119 onMouseOver="ShowTip(event, 'tt3', 'link119')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Use this function to obtain the local Micro Server&rsquo;s unique ID, if available.&nbsp; The information might not be available immediately following a reset, prior to successful completion of the initialization sequence, or following an asynchronous reset of the host processor.</p><p>See also the <a href="#LonGetLastResetNotification" class=LFunction id=link120 onMouseOver="ShowTip(event, 'tt15', 'link120')" onMouseOut="HideTip('tt15')">LonGetLastResetNotification</a> function for alternative access to the same data.</p><p>The <b>Unique ID</b> is also known as the <b>Neuron ID</b>, however, <b>Neuron ID</b> is a deprecated term.</p><p>Previously named lonGetNeuronId.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonGetVersion"></a>LonGetVersion</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonGetVersion(</td><td class="PTypePrefix  prettyprint " nowrap>LonByte*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pVersion</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Provides the link layer protocol version number.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pVersion</td><td class=CDLDescription>pointer to hold the version number</td></tr></table><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link121 onMouseOver="ShowTip(event, 'tt3', 'link121')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>The function provides the link layer protocol version number into the location pointed to by <b>pVersion</b>, if available.&nbsp; The information may not be available immediately following a reset, prior to successful completion of the initialization sequence, or following an asynchronous reset of the host processor.</p><p>See also the <a href="#LonGetLastResetNotification" class=LFunction id=link122 onMouseOver="ShowTip(event, 'tt15', 'link122')" onMouseOut="HideTip('tt15')">LonGetLastResetNotification</a> function for alternative access to the same data.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonSendServicePin"></a>LonSendServicePin</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonSendServicePin(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Propagates a service pin message.</p><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link123 onMouseOver="ShowTip(event, 'tt3', 'link123')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Use this function to propagate a service pin message to the network.&nbsp; The function will fail if the device is not yet fully initialized.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonSendReset"></a>LonSendReset</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonSendReset(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sends a reset message.</p><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link124 onMouseOver="ShowTip(event, 'tt3', 'link124')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Use this function to send a reset message to the Micro Server.&nbsp; The function will fail if the device is not yet fully initialized.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonGetLastResetNotification"></a>LonGetLastResetNotification</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "colspan=2>extern const volatile LonResetNotification* const LonGetLastResetNotification(</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PParameter  prettyprint " nowrap width=100%>void</td></tr><tr><td class="PAfterParameters  prettyprint "colspan=2>)</td></tr></table></td></tr></table></blockquote><p>Returns a pointer to the most recent reset notification, if any.</p><h4 class=CHeading>Returns</h4><p>Pointer to <a href="ShortStackTypes-h.html#LonResetNotification" class=LType id=link125 onMouseOver="ShowTip(event, 'tt77', 'link125')" onMouseOut="HideTip('tt77')">LonResetNotification</a>, reporting the most recent reset notification buffered by the API.&nbsp; The returned pointer is NULL if such data is not available.</p><h4 class=CHeading>Remarks</h4><p>The &lt;LonReset&gt; callback occurs when the Micro Server reports a reset, but the <a href="ShortStackTypes-h.html#LonResetNotification" class=LType id=link126 onMouseOver="ShowTip(event, 'tt77', 'link126')" onMouseOut="HideTip('tt77')">LonResetNotification</a> data is buffered by the API for future reference.&nbsp; This is used by the API itself, but the application can query this buffer through the <a href="#LonGetLastResetNotification" class=LFunction id=link127 onMouseOver="ShowTip(event, 'tt15', 'link127')" onMouseOut="HideTip('tt15')">LonGetLastResetNotification</a> function.&nbsp; This function delivers a superset of the information from the <a href="#LonGetUniqueId" class=LFunction id=link128 onMouseOver="ShowTip(event, 'tt11', 'link128')" onMouseOut="HideTip('tt11')">LonGetUniqueId</a> and <a href="#LonGetVersion" class=LFunction id=link129 onMouseOver="ShowTip(event, 'tt12', 'link129')" onMouseOut="HideTip('tt12')">LonGetVersion</a> functions.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonSendMsg"></a>LonSendMsg</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonSendMsg(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>tag,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>priority,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonServiceType&nbsp;</td><td class="PParameter  prettyprint " nowrap>serviceType,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>authenticated,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const LonSendAddress*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pDestAddr,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonByte&nbsp;</td><td class="PParameter  prettyprint " nowrap>code,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const LonByte*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>length</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Send an explicit (non-NV) message.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>tag</td><td class=CDLDescription>message tag for this message</td></tr><tr><td class=CDLEntry>priority</td><td class=CDLDescription>priority attribute of the message</td></tr><tr><td class=CDLEntry>serviceType</td><td class=CDLDescription>service type for use with this message</td></tr><tr><td class=CDLEntry>authenticated</td><td class=CDLDescription>TRUE to use authenticated service</td></tr><tr><td class=CDLEntry>pDestAddr</td><td class=CDLDescription>pointer to destination address</td></tr><tr><td class=CDLEntry>code</td><td class=CDLDescription>message code</td></tr><tr><td class=CDLEntry>pData</td><td class=CDLDescription>message data, is NULL if length is zero</td></tr><tr><td class=CDLEntry>length</td><td class=CDLDescription>number of valid bytes available through pData</td></tr></table><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link130 onMouseOver="ShowTip(event, 'tt3', 'link130')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>This function is called to send an explicit message.&nbsp;  For application messages, the message code should be in the range of 0x00..0x2f.&nbsp;  Codes in the 0x30..0x3f range are reserved for protocols such as file transfer.</p><p>If the tag field specifies one of the bindable messages tags (tag &lt; # bindable message tags), the pDestAddr is ignored (and can be NULL) because the message is sent using implicit addressing.</p><p>A successful return from this function indicates only that the message has been queued to be sent.&nbsp;  If this function returns success, the ShortStack LonTalk Compact API will call <a href="#LonMsgCompleted" class=LFunction id=link131 onMouseOver="ShowTip(event, 'tt53', 'link131')" onMouseOut="HideTip('tt53')">LonMsgCompleted</a> with an indication of the transmission success.</p><p>If the message is a request, <a href="#LonResponseArrived" class=LFunction id=link132 onMouseOver="ShowTip(event, 'tt52', 'link132')" onMouseOut="HideTip('tt52')">LonResponseArrived</a> callback handlers are called when corresponding responses arrive.</p><p>The device must be configured before your application calls this function.&nbsp; If the device is unconfigured, the function will seem to work:  the application will receive a successful completion event (because the API will successfully pass the request to the Micro Server), but there will be no effect, and the application will not receive a callback (if any).</p></div></div></div>

<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="EXTENDED_OPTIONAL_API_FUNCTIONS"></a>EXTENDED OPTIONAL API FUNCTIONS</h2><div class=CBody><p>This section details extended API functions:  query functions, update functions, and utility functions.&nbsp; These functions are not typically required for a ShortStack application.&nbsp; To enable these functions, specify the LON_NM_QUERY_FUNCTIONS, LON_NM_UPDATE_FUNCTIONS, or LON_UTILITY_FUNCTIONS macro.&nbsp; These functions are disabled by default to allow for a minimum footprint implementation of the API.&nbsp; The definition of these macros is in the LonTalk Interface Developer-generated file ShortStackDev.h.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonQueryDomainConfig" id=link133 onMouseOver="ShowTip(event, 'tt17', 'link133')" onMouseOut="HideTip('tt17')">LonQueryDomainConfig</a></td><td class=SDescription>Request a copy of a local domain table record.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonQueryNvConfig" id=link134 onMouseOver="ShowTip(event, 'tt18', 'link134')" onMouseOut="HideTip('tt18')">LonQueryNvConfig</a></td><td class=SDescription>Request a copy of network variable configuration data.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonQueryAliasConfig" id=link135 onMouseOver="ShowTip(event, 'tt19', 'link135')" onMouseOut="HideTip('tt19')">LonQueryAliasConfig</a></td><td class=SDescription>Request a copy of alias configuration data.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonQueryAddressConfig" id=link136 onMouseOver="ShowTip(event, 'tt20', 'link136')" onMouseOut="HideTip('tt20')">LonQueryAddressConfig</a></td><td class=SDescription>Request a copy of address table configuration data.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonQueryConfigData" id=link137 onMouseOver="ShowTip(event, 'tt21', 'link137')" onMouseOut="HideTip('tt21')">LonQueryConfigData</a></td><td class=SDescription>Request a copy of local configuration data.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonQueryStatus" id=link138 onMouseOver="ShowTip(event, 'tt22', 'link138')" onMouseOut="HideTip('tt22')">LonQueryStatus</a></td><td class=SDescription>Request local status and statistics.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonQueryTransceiverStatus" id=link139 onMouseOver="ShowTip(event, 'tt23', 'link139')" onMouseOut="HideTip('tt23')">LonQueryTransceiverStatus</a></td><td class=SDescription>Request local transceiver status information.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonGoOnline" >LonGoOnline</a></td><td class=SDescription>Puts the local node online.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonGoOffline" >LonGoOffline</a></td><td class=SDescription>Puts the local node offline.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonUpdateAddressConfig" id=link140 onMouseOver="ShowTip(event, 'tt24', 'link140')" onMouseOut="HideTip('tt24')">LonUpdateAddressConfig</a></td><td class=SDescription>Updates an address table record on the Micro Server.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonUpdateAliasConfig" id=link141 onMouseOver="ShowTip(event, 'tt25', 'link141')" onMouseOut="HideTip('tt25')">LonUpdateAliasConfig</a></td><td class=SDescription>Updates a local alias table record.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonUpdateConfigData" id=link142 onMouseOver="ShowTip(event, 'tt26', 'link142')" onMouseOut="HideTip('tt26')">LonUpdateConfigData</a></td><td class=SDescription>Updates the configuration data on the Micro Server.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonUpdateDomainConfig" id=link143 onMouseOver="ShowTip(event, 'tt27', 'link143')" onMouseOut="HideTip('tt27')">LonUpdateDomainConfig</a></td><td class=SDescription>Updates a domain table record in the Micro Server.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonUpdateNvConfig" id=link144 onMouseOver="ShowTip(event, 'tt28', 'link144')" onMouseOut="HideTip('tt28')">LonUpdateNvConfig</a></td><td class=SDescription>Updates a network variable configuration table record in the Micro Server.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonClearStatus" id=link145 onMouseOver="ShowTip(event, 'tt29', 'link145')" onMouseOut="HideTip('tt29')">LonClearStatus</a></td><td class=SDescription>Clears the status statistics on the Micro Server.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonSendPing" id=link146 onMouseOver="ShowTip(event, 'tt30', 'link146')" onMouseOut="HideTip('tt30')">LonSendPing</a></td><td class=SDescription>Sends a ping command to the ShortStack Micro Server.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonNvIsBound" id=link147 onMouseOver="ShowTip(event, 'tt31', 'link147')" onMouseOut="HideTip('tt31')">LonNvIsBound</a></td><td class=SDescription>Sends a command to the ShortStack Micro Server to query whether a given network variable is bound.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonMtIsBound" id=link148 onMouseOver="ShowTip(event, 'tt32', 'link148')" onMouseOut="HideTip('tt32')">LonMtIsBound</a></td><td class=SDescription>Sends a command to the ShortStack Micro Server to query whether a given message tag is bound.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonGoUnconfigured" id=link149 onMouseOver="ShowTip(event, 'tt33', 'link149')" onMouseOut="HideTip('tt33')">LonGoUnconfigured</a></td><td class=SDescription>Puts the local node into the unconfigured state.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonGoConfigured" id=link150 onMouseOver="ShowTip(event, 'tt34', 'link150')" onMouseOut="HideTip('tt34')">LonGoConfigured</a></td><td class=SDescription>Puts the local node into the configured state.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonQueryAppSignature" id=link151 onMouseOver="ShowTip(event, 'tt35', 'link151')" onMouseOut="HideTip('tt35')">LonQueryAppSignature</a></td><td class=SDescription>Queries the Micro Server&rsquo;s current version of the host application signature.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonQueryVersion" id=link152 onMouseOver="ShowTip(event, 'tt36', 'link152')" onMouseOut="HideTip('tt36')">LonQueryVersion</a></td><td class=SDescription>Request version details from the Micro Server</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonRequestEcho" id=link153 onMouseOver="ShowTip(event, 'tt37', 'link153')" onMouseOut="HideTip('tt37')">LonRequestEcho</a></td><td class=SDescription>Sends arbitrary test data to the Micro Server and requests a modulated echo.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonSetPostResetPause" id=link154 onMouseOver="ShowTip(event, 'tt38', 'link154')" onMouseOut="HideTip('tt38')">LonSetPostResetPause</a></td><td class=SDescription>Configures the Micro Server&rsquo;s post-reset pause as 0 (zero, disabled) or in the 1..255ms range.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonQueryDomainConfig"></a>LonQueryDomainConfig</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonQueryDomainConfig(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Request a copy of a local domain table record.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>index of requested domain table record (0, 1)</td></tr></table><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link155 onMouseOver="ShowTip(event, 'tt3', 'link155')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Call this function to request a copy of a local domain table record.&nbsp; This is an asynchronous API.&nbsp; This function returns immediately.&nbsp; The domain information will later be delivered to the <a href="#LonDomainConfigReceived" class=LFunction id=link156 onMouseOver="ShowTip(event, 'tt54', 'link156')" onMouseOut="HideTip('tt54')">LonDomainConfigReceived</a> callback.&nbsp; This function is part of the optional network management query API (LON_NM_QUERY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonQueryNvConfig"></a>LonQueryNvConfig</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonQueryNvConfig(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Request a copy of network variable configuration data.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>index of requested NV configuration table entry</td></tr></table><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link157 onMouseOver="ShowTip(event, 'tt3', 'link157')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Call this function to request a copy of the local Micro Server&rsquo;s network variable configuration data.&nbsp; This is an asynchronous API.&nbsp; This function returns immediately.&nbsp; The configuration data will later be delivered to the <a href="#LonNvConfigReceived" class=LFunction id=link158 onMouseOver="ShowTip(event, 'tt55', 'link158')" onMouseOut="HideTip('tt55')">LonNvConfigReceived</a> callback.&nbsp; This function is part of the optional network management query API (LON_NM_QUERY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonQueryAliasConfig"></a>LonQueryAliasConfig</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonQueryAliasConfig(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Request a copy of alias configuration data.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>index of requested alias config table entry</td></tr></table><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link159 onMouseOver="ShowTip(event, 'tt3', 'link159')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Call this function to request a copy of the local Micro Server&rsquo;s alias configuration data.&nbsp; This is an asynchronous API.&nbsp; This function returns immediately.&nbsp; The configuration data will later be delivered to the <a href="#LonAliasConfigReceived" class=LFunction id=link160 onMouseOver="ShowTip(event, 'tt56', 'link160')" onMouseOut="HideTip('tt56')">LonAliasConfigReceived</a> callback.&nbsp; This function is part of the optional network management query API (LON_NM_QUERY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonQueryAddressConfig"></a>LonQueryAddressConfig</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonQueryAddressConfig(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Request a copy of address table configuration data.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>index of requested address table entry</td></tr></table><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link161 onMouseOver="ShowTip(event, 'tt3', 'link161')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Call this function to request a copy of the local Micro Server&rsquo;s address table configuration data.&nbsp; This is an asynchronous API.&nbsp; This function returns immediately.&nbsp; The configuration data will later be delivered to the <a href="#LonAddressConfigReceived" class=LFunction id=link162 onMouseOver="ShowTip(event, 'tt57', 'link162')" onMouseOut="HideTip('tt57')">LonAddressConfigReceived</a> callback.&nbsp; This function is part of the optional network management query API (LON_NM_QUERY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonQueryConfigData"></a>LonQueryConfigData</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonQueryConfigData(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Request a copy of local configuration data.</p><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link163 onMouseOver="ShowTip(event, 'tt3', 'link163')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Call this function to request a copy of the local Micro Server&rsquo;s configuration data.&nbsp; This is an asynchronous API.&nbsp; This function returns immediately.&nbsp; The configuration data will later be delivered to the <a href="#LonConfigDataReceived" class=LFunction id=link164 onMouseOver="ShowTip(event, 'tt58', 'link164')" onMouseOut="HideTip('tt58')">LonConfigDataReceived</a> callback.&nbsp; This function is part of the optional network management query API (LON_NM_QUERY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonQueryStatus"></a>LonQueryStatus</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonQueryStatus(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Request local status and statistics.</p><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link165 onMouseOver="ShowTip(event, 'tt3', 'link165')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Call this function to obtain the local status and statistics of the ShortStack device.&nbsp; This is an asynchronous API.&nbsp; This function returns immediately.&nbsp; The data will later be delivered to the <a href="#LonStatusReceived" class=LFunction id=link166 onMouseOver="ShowTip(event, 'tt59', 'link166')" onMouseOut="HideTip('tt59')">LonStatusReceived</a> callback.&nbsp; This function is part of the optional network management query API (LON_NM_QUERY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonQueryTransceiverStatus"></a>LonQueryTransceiverStatus</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonQueryTransceiverStatus(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Request local transceiver status information.</p><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link167 onMouseOver="ShowTip(event, 'tt3', 'link167')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Call this function to query the local transceiver status for the Micro Server.&nbsp; This is an asynchronous API.&nbsp; This function returns immediately.&nbsp; The transceiver status will later be delivered to the <a href="#LonTransceiverStatusReceived" class=LFunction id=link168 onMouseOver="ShowTip(event, 'tt60', 'link168')" onMouseOut="HideTip('tt60')">LonTransceiverStatusReceived</a> callback.&nbsp; This function is part of the optional network management query API (LON_NM_QUERY_FUNCTIONS).</p><p>This function works only for a Power Line transceiver.&nbsp; If your application calls this function for any other transceiver type, the function will seem to work, but the corresponding callback handler will declare a failure.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonGoOnline"></a>LonGoOnline</h3><div class=CBody><p>Puts the local node online.</p><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link169 onMouseOver="ShowTip(event, 'tt3', 'link169')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Call this function to put the local Micro Server into online mode.&nbsp; This function is part of the optional network management update API (LON_NM_UPDATE_FUNCTIONS).</p><p>The device must be configured before your application calls this function.&nbsp; If the device is unconfigured, the function will seem to work because the API will successfully pass the request to the Micro Server, but there will be no effect, and the application will not receive a callback (if any).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonGoOffline"></a>LonGoOffline</h3><div class=CBody><p>Puts the local node offline.</p><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link170 onMouseOver="ShowTip(event, 'tt3', 'link170')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Call this function to put the local Micro Server into offline mode.&nbsp; This function is part of the optional network management update API (LON_NM_UPDATE_FUNCTIONS).</p><p>The device must be configured before your application calls this function.&nbsp; If the device is unconfigured, the function will seem to work because the API will successfully pass the request to the Micro Server, but there will be no effect, and the application will not receive a callback (if any).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonUpdateAddressConfig"></a>LonUpdateAddressConfig</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "colspan=4>extern const LonApiError LonUpdateAddressConfig(</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap width=100%>index,</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PTypePrefix  prettyprint " nowrap>const LonAddress*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap width=100%>pAddress</td></tr><tr><td class="PAfterParameters  prettyprint "colspan=4>)</td></tr></table></td></tr></table></blockquote><p>Updates an address table record on the Micro Server.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>address table index to update</td></tr><tr><td class=CDLEntry>pAddress</td><td class=CDLDescription>pointer to address table record</td></tr></table><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link171 onMouseOver="ShowTip(event, 'tt3', 'link171')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Use this function to write a record to the local address table.&nbsp; This function is part of the optional network management update API (LON_NM_UPDATE_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonUpdateAliasConfig"></a>LonUpdateAliasConfig</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "colspan=4>extern const LonApiError LonUpdateAliasConfig(</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap width=100%>index,</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PTypePrefix  prettyprint " nowrap>const LonAliasConfig*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap width=100%>pAlias</td></tr><tr><td class="PAfterParameters  prettyprint "colspan=4>)</td></tr></table></td></tr></table></blockquote><p>Updates a local alias table record.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>index of alias table record to update</td></tr><tr><td class=CDLEntry>pAlias</td><td class=CDLDescription>pointer to the alias table record</td></tr></table><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link172 onMouseOver="ShowTip(event, 'tt3', 'link172')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>This function writes a record in the local alias table.&nbsp; This function is part of the optional network management update API (LON_NM_UPDATE_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonUpdateConfigData"></a>LonUpdateConfigData</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "colspan=4>extern const LonApiError LonUpdateConfigData(</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PTypePrefix  prettyprint " nowrap>const LonConfigData*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap width=100%>pConfig</td></tr><tr><td class="PAfterParameters  prettyprint "colspan=4>)</td></tr></table></td></tr></table></blockquote><p>Updates the configuration data on the Micro Server.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pConfig</td><td class=CDLDescription>pointer to the <a href="ShortStackTypes-h.html#LonConfigData" class=LType id=link173 onMouseOver="ShowTip(event, 'tt78', 'link173')" onMouseOut="HideTip('tt78')">LonConfigData</a> configuration data</td></tr></table><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link174 onMouseOver="ShowTip(event, 'tt3', 'link174')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Call this function to update the Micro Server&rsquo;s configuration data based on the configuration stored in the <a href="ShortStackTypes-h.html#LonConfigData" class=LType id=link175 onMouseOver="ShowTip(event, 'tt78', 'link175')" onMouseOut="HideTip('tt78')">LonConfigData</a> structure.&nbsp; This function is part of the optional network management update API (LON_NM_UPDATE_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonUpdateDomainConfig"></a>LonUpdateDomainConfig</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonUpdateDomainConfig(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const LonDomain*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pDomain</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Updates a domain table record in the Micro Server.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>the index of the domain table to update</td></tr><tr><td class=CDLEntry>pDomain</td><td class=CDLDescription>pointer to the domain table record</td></tr></table><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link176 onMouseOver="ShowTip(event, 'tt3', 'link176')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>This function can be used to update one record of the domain table.&nbsp; This function is part of the optional network management update API (LON_NM_UPDATE_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonUpdateNvConfig"></a>LonUpdateNvConfig</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonUpdateNvConfig(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const LonNvConfig*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pNvConfig</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Updates a network variable configuration table record in the Micro Server.</p><h4 class=CHeading>Parameter</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>index of network variable</td></tr><tr><td class=CDLEntry>pNvConfig</td><td class=CDLDescription>network variable configuration</td></tr></table><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link177 onMouseOver="ShowTip(event, 'tt3', 'link177')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>This function can be used to update one record of the network variable configuration table.&nbsp; This function is part of the optional network management update API (LON_NM_UPDATE_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonClearStatus"></a>LonClearStatus</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonClearStatus(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Clears the status statistics on the Micro Server.</p><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link178 onMouseOver="ShowTip(event, 'tt3', 'link178')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>This function can be used to clear the Micro Server&rsquo;s status and statistics records.&nbsp; This function is part of the optional network management update API (LON_NM_UPDATE_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonSendPing"></a>LonSendPing</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonSendPing(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sends a ping command to the ShortStack Micro Server.</p><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link179 onMouseOver="ShowTip(event, 'tt3', 'link179')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Use this function to send a ping command to the Micro Server to verify that communications with the Micro Server are functional.&nbsp; The <a href="#LonPingReceived" class=LFunction id=link180 onMouseOver="ShowTip(event, 'tt64', 'link180')" onMouseOut="HideTip('tt64')">LonPingReceived</a> callback handler function processes the reply to the query.&nbsp; This function is part of the optional utility API (LON_UTILITY_FUNCTIONS).&nbsp; For a more comprehensive test facility see <a href="#LonRequestEcho" class=LFunction id=link181 onMouseOver="ShowTip(event, 'tt37', 'link181')" onMouseOut="HideTip('tt37')">LonRequestEcho</a>.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonNvIsBound"></a>LonNvIsBound</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonNvIsBound(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sends a command to the ShortStack Micro Server to query whether a given network variable is bound.</p><h4 class=CHeading>Parameter</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>index of network variable</td></tr></table><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link182 onMouseOver="ShowTip(event, 'tt3', 'link182')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Use this function to query whether the given network variable is bound.&nbsp; You can use this function to ensure that transactions are initiated only for connected network variables.&nbsp;  The <a href="#LonNvIsBoundReceived" class=LFunction id=link183 onMouseOver="ShowTip(event, 'tt65', 'link183')" onMouseOut="HideTip('tt65')">LonNvIsBoundReceived</a> callback handler function processes the reply to the query.&nbsp; This function is part of the optional utility API (LON_UTILITY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonMtIsBound"></a>LonMtIsBound</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonMtIsBound(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sends a command to the ShortStack Micro Server to query whether a given message tag is bound.</p><h4 class=CHeading>Parameter</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>index of network variable</td></tr></table><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link184 onMouseOver="ShowTip(event, 'tt3', 'link184')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Use this function to query whether the given message tag is bound or not.&nbsp; You can use this function to ensure that transactions are initiated only for connected message tags.&nbsp;  The <a href="#LonMtIsBoundReceived" class=LFunction id=link185 onMouseOver="ShowTip(event, 'tt66', 'link185')" onMouseOut="HideTip('tt66')">LonMtIsBoundReceived</a> callback handler function processes the reply to the query.&nbsp; This function is part of the optional utility API (LON_UTILITY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonGoUnconfigured"></a>LonGoUnconfigured</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonGoUnconfigured(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Puts the local node into the unconfigured state.</p><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link186 onMouseOver="ShowTip(event, 'tt3', 'link186')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Call this function to put the Micro Server into the unconfigured state.&nbsp; This function is part of the optional utility API (LON_UTILITY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonGoConfigured"></a>LonGoConfigured</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonGoConfigured(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Puts the local node into the configured state.</p><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link187 onMouseOver="ShowTip(event, 'tt3', 'link187')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Call this function to put the Micro Server in the configured state and online mode.&nbsp; This function is part of the optional utility API (LON_UTILITY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonQueryAppSignature"></a>LonQueryAppSignature</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonQueryAppSignature(</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>bInvalidate</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Queries the Micro Server&rsquo;s current version of the host application signature.</p><h4 class=CHeading>Parameter</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>bInvalidate</td><td class=CDLDescription>flag to indicate whether to invalidate the signature</td></tr></table><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link188 onMouseOver="ShowTip(event, 'tt3', 'link188')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Call this function to query the Micro Server&rsquo;s current version of the host application signature.&nbsp; If the bInvalidate flag is TRUE, the Micro Server invalidates its copy of the signature <b>AFTER</b> reporting it to the host.&nbsp; This function is part of the optional utility API (LON_UTILITY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonQueryVersion"></a>LonQueryVersion</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonQueryVersion(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Request version details from the Micro Server</p><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link189 onMouseOver="ShowTip(event, 'tt3', 'link189')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Call this function to request the Micro Server application and core library version numbers, both delivered as triplets of major version, minor version and build number (one byte each) through the <a href="#LonVersionReceived" class=LFunction id=link190 onMouseOver="ShowTip(event, 'tt70', 'link190')" onMouseOut="HideTip('tt70')">LonVersionReceived</a> callback.&nbsp; This function is part of the optional utility API (LON_UTILITY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonRequestEcho"></a>LonRequestEcho</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonRequestEcho(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonByte&nbsp;</td><td class="PParameter  prettyprint " nowrap>data[LON_ECHO_SIZE]</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sends arbitrary test data to the Micro Server and requests a modulated echo.</p><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link191 onMouseOver="ShowTip(event, 'tt3', 'link191')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>LonRequestEcho transmits LON_ECHO_SIZE (6) bytes of arbitrary data, chosen by the caller of the function, to the Micro Server.&nbsp; The Micro Server returns these data bytes to the host, but increments each byte by one, using unsigned 8-bit addition without overflow.&nbsp; When the response is received, the API activates the <a href="#LonEchoReceived" class=LFunction id=link192 onMouseOver="ShowTip(event, 'tt71', 'link192')" onMouseOut="HideTip('tt71')">LonEchoReceived</a> callback.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonSetPostResetPause"></a>LonSetPostResetPause</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonSetPostResetPause(</td><td class="PType  prettyprint " nowrap>LonByte&nbsp;</td><td class="PParameter  prettyprint " nowrap>duration</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Configures the Micro Server&rsquo;s post-reset pause as 0 (zero, disabled) or in the 1..255ms range.</p><h4 class=CHeading>Returns</h4><p><a href="ShortStackTypes-h.html#LonApiError" class=LType id=link193 onMouseOver="ShowTip(event, 'tt3', 'link193')" onMouseOut="HideTip('tt3')">LonApiError</a>.</p><h4 class=CHeading>Remarks</h4><p>Starting with release 4.30, the Micro Server enforces a pause immediately after it transmits an uplink reset notification message.&nbsp; This pause is 50ms by default.&nbsp; During this pause, the Micro Server does nothing.&nbsp; This allows the host time to receive and process the reset notification, which may require resetting the host-side link layer driver.</p><p>This API may be used to disable the post-reset pause (set to zero), or to select a pause duration in the 1..255 ms range.&nbsp; The Micro Server stores the value in on-chip EEPROM memory, so this only needs setting once.</p></div></div></div>

<div class="CSection"><div class=CTopic><h2 class=CTitle><a name="CALLBACK_HANDLER_PROTOTYPES"></a>CALLBACK HANDLER PROTOTYPES</h2><div class=CBody><p>Following are the prototypes for the Shortstack LonTalk Compact host API callback handler functions.&nbsp; Code in ShortStackApi.c can call these functions, which the application must provide and fill with meaningful code.&nbsp; Skeletons for these callback functions are provided in ShortStackHandlers.c.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonResetOccurred" id=link194 onMouseOver="ShowTip(event, 'tt39', 'link194')" onMouseOut="HideTip('tt39')">LonResetOccurred</a></td><td class=SDescription>Occurs when the Micro Server has completed a reset.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonWink" id=link195 onMouseOver="ShowTip(event, 'tt40', 'link195')" onMouseOut="HideTip('tt40')">LonWink</a></td><td class=SDescription>Occurs when the Micro Server has received a WINK command.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonOffline" id=link196 onMouseOver="ShowTip(event, 'tt41', 'link196')" onMouseOut="HideTip('tt41')">LonOffline</a></td><td class=SDescription>Occurs when the Micro Server has received a command to enter the offline state.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonOnline" id=link197 onMouseOver="ShowTip(event, 'tt42', 'link197')" onMouseOut="HideTip('tt42')">LonOnline</a></td><td class=SDescription>Occurs when the Micro Server has received a command to enter the online state.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonServicePinPressed" id=link198 onMouseOver="ShowTip(event, 'tt43', 'link198')" onMouseOut="HideTip('tt43')">LonServicePinPressed</a></td><td class=SDescription>Occurs when the service pin has been activated.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonServicePinHeld" id=link199 onMouseOver="ShowTip(event, 'tt44', 'link199')" onMouseOut="HideTip('tt44')">LonServicePinHeld</a></td><td class=SDescription>Occurs when the service pin has been continuously activated for a configurable time.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonServicePinEvent" id=link200 onMouseOver="ShowTip(event, 'tt45', 'link200')" onMouseOut="HideTip('tt45')">LonServicePinEvent</a></td><td class=SDescription>Occurs when the service pin has been activated or held.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonNvUpdateOccurred" id=link201 onMouseOver="ShowTip(event, 'tt46', 'link201')" onMouseOut="HideTip('tt46')">LonNvUpdateOccurred</a></td><td class=SDescription>Occurs when new input network variable data has arrived.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonNvUpdateCompleted" id=link202 onMouseOver="ShowTip(event, 'tt47', 'link202')" onMouseOut="HideTip('tt47')">LonNvUpdateCompleted</a></td><td class=SDescription>Signals completion of a network variable update</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonGetCurrentNvSize" id=link203 onMouseOver="ShowTip(event, 'tt48', 'link203')" onMouseOut="HideTip('tt48')">LonGetCurrentNvSize</a></td><td class=SDescription>Gets the current size of a network variable.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonNvdDeserializeNvs" id=link204 onMouseOver="ShowTip(event, 'tt49', 'link204')" onMouseOut="HideTip('tt49')">LonNvdDeserializeNvs</a></td><td class=SDescription>Initializes the network variable values from non-volatile storage.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonNvdSerializeNvs" id=link205 onMouseOver="ShowTip(event, 'tt50', 'link205')" onMouseOut="HideTip('tt50')">LonNvdSerializeNvs</a></td><td class=SDescription>Updates the persistent network variable values in non-volatile storage.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonMsgArrived" id=link206 onMouseOver="ShowTip(event, 'tt51', 'link206')" onMouseOut="HideTip('tt51')">LonMsgArrived</a></td><td class=SDescription>Occurs when an application message arrives.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonResponseArrived" id=link207 onMouseOver="ShowTip(event, 'tt52', 'link207')" onMouseOut="HideTip('tt52')">LonResponseArrived</a></td><td class=SDescription>Occurs when a response arrived.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonMsgCompleted" id=link208 onMouseOver="ShowTip(event, 'tt53', 'link208')" onMouseOut="HideTip('tt53')">LonMsgCompleted</a></td><td class=SDescription>Occurs when a message transaction has completed. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonDomainConfigReceived" id=link209 onMouseOver="ShowTip(event, 'tt54', 'link209')" onMouseOut="HideTip('tt54')">LonDomainConfigReceived</a></td><td class=SDescription>Callback following call to <a href="#LonQueryDomainConfig" class=LFunction id=link210 onMouseOver="ShowTip(event, 'tt17', 'link210')" onMouseOut="HideTip('tt17')">LonQueryDomainConfig</a>.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonNvConfigReceived" id=link211 onMouseOver="ShowTip(event, 'tt55', 'link211')" onMouseOut="HideTip('tt55')">LonNvConfigReceived</a></td><td class=SDescription>Callback following call to <a href="#LonQueryNvConfig" class=LFunction id=link212 onMouseOver="ShowTip(event, 'tt18', 'link212')" onMouseOut="HideTip('tt18')">LonQueryNvConfig</a>.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonAliasConfigReceived" id=link213 onMouseOver="ShowTip(event, 'tt56', 'link213')" onMouseOut="HideTip('tt56')">LonAliasConfigReceived</a></td><td class=SDescription>Callback following call to <a href="#LonQueryAliasConfig" class=LFunction id=link214 onMouseOver="ShowTip(event, 'tt19', 'link214')" onMouseOut="HideTip('tt19')">LonQueryAliasConfig</a>.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonAddressConfigReceived" id=link215 onMouseOver="ShowTip(event, 'tt57', 'link215')" onMouseOut="HideTip('tt57')">LonAddressConfigReceived</a></td><td class=SDescription>Callback following call to <a href="#LonQueryAddressConfig" class=LFunction id=link216 onMouseOver="ShowTip(event, 'tt20', 'link216')" onMouseOut="HideTip('tt20')">LonQueryAddressConfig</a>.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonConfigDataReceived" id=link217 onMouseOver="ShowTip(event, 'tt58', 'link217')" onMouseOut="HideTip('tt58')">LonConfigDataReceived</a></td><td class=SDescription>Callback following call to <a href="#LonQueryConfigData" class=LFunction id=link218 onMouseOver="ShowTip(event, 'tt21', 'link218')" onMouseOut="HideTip('tt21')">LonQueryConfigData</a>.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonStatusReceived" id=link219 onMouseOver="ShowTip(event, 'tt59', 'link219')" onMouseOut="HideTip('tt59')">LonStatusReceived</a></td><td class=SDescription>Callback following call to <a href="#LonQueryStatus" class=LFunction id=link220 onMouseOver="ShowTip(event, 'tt22', 'link220')" onMouseOut="HideTip('tt22')">LonQueryStatus</a>.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonTransceiverStatusReceived" id=link221 onMouseOver="ShowTip(event, 'tt60', 'link221')" onMouseOut="HideTip('tt60')">LonTransceiverStatusReceived</a></td><td class=SDescription>Callback following a call to <a href="#LonQueryTransceiverStatus" class=LFunction id=link222 onMouseOver="ShowTip(event, 'tt23', 'link222')" onMouseOut="HideTip('tt23')">LonQueryTransceiverStatus</a>.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonTranslateWindowArea" id=link223 onMouseOver="ShowTip(event, 'tt61', 'link223')" onMouseOut="HideTip('tt61')">LonTranslateWindowArea</a></td><td class=SDescription>Utility function to translate DMF addresses.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonMemoryRead" id=link224 onMouseOver="ShowTip(event, 'tt62', 'link224')" onMouseOut="HideTip('tt62')">LonMemoryRead</a></td><td class=SDescription>Read memory in the ShortStack device&rsquo;s memory space.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonMemoryWrite" id=link225 onMouseOver="ShowTip(event, 'tt63', 'link225')" onMouseOut="HideTip('tt63')">LonMemoryWrite</a></td><td class=SDescription>Update memory in the ShortStack device&rsquo;s memory space.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonPingReceived" id=link226 onMouseOver="ShowTip(event, 'tt64', 'link226')" onMouseOut="HideTip('tt64')">LonPingReceived</a></td><td class=SDescription>The ShortStack Micro Server has sent a ping command.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonNvIsBoundReceived" id=link227 onMouseOver="ShowTip(event, 'tt65', 'link227')" onMouseOut="HideTip('tt65')">LonNvIsBoundReceived</a></td><td class=SDescription>Callback following a call to <a href="#LonNvIsBound" class=LFunction id=link228 onMouseOver="ShowTip(event, 'tt31', 'link228')" onMouseOut="HideTip('tt31')">LonNvIsBound</a>.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonMtIsBoundReceived" id=link229 onMouseOver="ShowTip(event, 'tt66', 'link229')" onMouseOut="HideTip('tt66')">LonMtIsBoundReceived</a></td><td class=SDescription>Callback following a call to <a href="#LonMtIsBound" class=LFunction id=link230 onMouseOver="ShowTip(event, 'tt32', 'link230')" onMouseOut="HideTip('tt32')">LonMtIsBound</a>.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonGoUnconfiguredReceived" id=link231 onMouseOver="ShowTip(event, 'tt67', 'link231')" onMouseOut="HideTip('tt67')">LonGoUnconfiguredReceived</a></td><td class=SDescription>Callback following a call to <a href="#LonGoUnconfigured" class=LFunction id=link232 onMouseOver="ShowTip(event, 'tt33', 'link232')" onMouseOut="HideTip('tt33')">LonGoUnconfigured</a>.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonGoConfiguredReceived" id=link233 onMouseOver="ShowTip(event, 'tt68', 'link233')" onMouseOut="HideTip('tt68')">LonGoConfiguredReceived</a></td><td class=SDescription>Callback following a call to <a href="#LonGoConfigured" class=LFunction id=link234 onMouseOver="ShowTip(event, 'tt34', 'link234')" onMouseOut="HideTip('tt34')">LonGoConfigured</a>.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonAppSignatureReceived" id=link235 onMouseOver="ShowTip(event, 'tt69', 'link235')" onMouseOut="HideTip('tt69')">LonAppSignatureReceived</a></td><td class=SDescription>Callback following a call to <a href="#LonQueryAppSignature" class=LFunction id=link236 onMouseOver="ShowTip(event, 'tt35', 'link236')" onMouseOut="HideTip('tt35')">LonQueryAppSignature</a>.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonVersionReceived" id=link237 onMouseOver="ShowTip(event, 'tt70', 'link237')" onMouseOut="HideTip('tt70')">LonVersionReceived</a></td><td class=SDescription>Callback following a call to <a href="#LonQueryVersion" class=LFunction id=link238 onMouseOver="ShowTip(event, 'tt36', 'link238')" onMouseOut="HideTip('tt36')">LonQueryVersion</a>.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonEchoReceived" id=link239 onMouseOver="ShowTip(event, 'tt71', 'link239')" onMouseOut="HideTip('tt71')">LonEchoReceived</a></td><td class=SDescription>Callback following a call to <a href="#LonRequestEcho" class=LFunction id=link240 onMouseOver="ShowTip(event, 'tt37', 'link240')" onMouseOut="HideTip('tt37')">LonRequestEcho</a>.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonCustomCommunicationParameters" id=link241 onMouseOver="ShowTip(event, 'tt72', 'link241')" onMouseOut="HideTip('tt72')">LonCustomCommunicationParameters</a></td><td class=SDescription>Callback to enforce application-specific communication parameters.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonEncrypt" id=link242 onMouseOver="ShowTip(event, 'tt73', 'link242')" onMouseOut="HideTip('tt73')">LonEncrypt</a></td><td class=SDescription>Callback to engage the application-specific encryption algorithm.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonDecipher" id=link243 onMouseOver="ShowTip(event, 'tt74', 'link243')" onMouseOut="HideTip('tt74')">LonDecipher</a></td><td class=SDescription>Callback to engage the application-specific decryption algorithm.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#LonResume" id=link244 onMouseOver="ShowTip(event, 'tt75', 'link244')" onMouseOut="HideTip('tt75')">LonResume</a></td><td class=SDescription>Resumes a suspended link layer driver.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#LonSuspend" id=link245 onMouseOver="ShowTip(event, 'tt76', 'link245')" onMouseOut="HideTip('tt76')">LonSuspend</a></td><td class=SDescription>Suspends a link layer driver.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Functions"></a>Functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonResetOccurred"></a>LonResetOccurred</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "colspan=4>extern void LonResetOccurred(</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PTypePrefix  prettyprint " nowrap>const LonResetNotification*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap width=100%>pResetNotification</td></tr><tr><td class="PAfterParameters  prettyprint "colspan=4>)</td></tr></table></td></tr></table></blockquote><p>Occurs when the Micro Server has completed a reset.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pResetNotification</td><td class=CDLDescription><a href="ShortStackTypes-h.html#LonResetNotification" class=LType id=link246 onMouseOver="ShowTip(event, 'tt77', 'link246')" onMouseOut="HideTip('tt77')">LonResetNotification</a> structure with capabilities and identifying data.</td></tr></table><h4 class=CHeading>Remarks</h4><p>The pointer to <a href="ShortStackTypes-h.html#LonResetNotification" class=LType id=link247 onMouseOver="ShowTip(event, 'tt77', 'link247')" onMouseOut="HideTip('tt77')">LonResetNotification</a> is only valid for the duration of this callback, but the API buffers the notification details.&nbsp; Use the <a href="#LonGetLastResetNotification" class=LFunction id=link248 onMouseOver="ShowTip(event, 'tt15', 'link248')" onMouseOut="HideTip('tt15')">LonGetLastResetNotification</a> function to fetch a pointer to that buffer when needed.</p><p>The reset message contains the link-layer protocol version number implemented by the Micro Server.&nbsp; The application should make sure that it can handle that link-layer protocol by comparing it with the API&rsquo;s link-layer protocol version number defined by LON_LINK_LAYER_PROTOCOL_VERSION.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonWink"></a>LonWink</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonWink(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Occurs when the Micro Server has received a WINK command.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonOffline"></a>LonOffline</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonOffline(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Occurs when the Micro Server has received a command to enter the offline state.</p><h4 class=CHeading>Remarks</h4><p>The Micro Server does not actually go offline until the <a href="#LonOffline" class=LFunction id=link249 onMouseOver="ShowTip(event, 'tt41', 'link249')" onMouseOut="HideTip('tt41')">LonOffline</a> callback function returns and the ShortStack LonTalk Compact API sends a confirmation message to the Micro Server.&nbsp; Thus, the host application should assume that the Micro Server is offline only after this callback completes processing.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonOnline"></a>LonOnline</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonOnline(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Occurs when the Micro Server has received a command to enter the online state.</p><h4 class=CHeading>Remarks</h4><p>The Micro Server does not actually go online until the <a href="#LonOnline" class=LFunction id=link250 onMouseOver="ShowTip(event, 'tt42', 'link250')" onMouseOut="HideTip('tt42')">LonOnline</a> callback function returns and the ShortStack LonTalk Compact API sends a confirmation message to the Micro Server.&nbsp; Thus, the host application should assume that the Micro Server is online only after this callback completes processing.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonServicePinPressed"></a>LonServicePinPressed</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonServicePinPressed(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Occurs when the service pin has been activated.</p><p>The IzoT Interface Interpreter (III) generated framework implements this event handler within the generated code, and dispatches application-specific onService events.&nbsp; See the <a href="#LonServicePinEvent" class=LFunction id=link251 onMouseOver="ShowTip(event, 'tt45', 'link251')" onMouseOut="HideTip('tt45')">LonServicePinEvent</a> prototype definition below for the type of the onService handler supported by III.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonServicePinHeld"></a>LonServicePinHeld</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonServicePinHeld(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Occurs when the service pin has been continuously activated for a configurable time.</p><h4 class=CHeading>Remarks</h4><p>Use the LonTalk Interface Developer to enable this feature and to specify the duration for which the service pin must be activated to trigger this callback.</p><p>The IzoT Interface Interpreter (III) generated framework implements this event handler within the generated code, and dispatches application-specific onService events.&nbsp; See the <a href="#LonServicePinEvent" class=LFunction id=link252 onMouseOver="ShowTip(event, 'tt45', 'link252')" onMouseOut="HideTip('tt45')">LonServicePinEvent</a> prototype definition below for the type of the onService handler supported by III.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonServicePinEvent"></a>LonServicePinEvent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonServicePinEvent(</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>held</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Occurs when the service pin has been activated or held.</p><p>The IzoT Interface Interpreter (III) generated framework dispatches application-specific onService events based on this prototype.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonNvUpdateOccurred"></a>LonNvUpdateOccurred</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonNvUpdateOccurred(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const LonReceiveAddress*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pSourceAddress</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Occurs when new input network variable data has arrived.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>global index (local to the device) of the network variable in question</td></tr><tr><td class=CDLEntry>pSourceaddress</td><td class=CDLDescription>pointer to source address description</td></tr></table><h4 class=CHeading>Remarks</h4><p>The network variable with local index given in this callback has been updated with a new value.&nbsp; The new value is already stored in the network variable&rsquo;s location; access the value through the global variable representing the network variable, or obtain the pointer to the network variable&rsquo;s value from the network variable table.&nbsp; The pSourceAddress pointer is only valid for the duration of this callback.</p><p>For an element of a network variable array, the index is the global network variable index plus the array-element index.&nbsp; For example, if nviVolt[0] has global network variable index 4, then nviVolt[1] has global network variable index 5.</p><p>Also, if this is a non-volatile network variable, that is, it has the LON_NVDESC_PERSISTENT_MASK attribute set, store its value in non-volatile memory as implemented by your application.&nbsp; An network variable is a non-volatile network variable if it is declared with an <b>eeprom</b> keyword in the model file or if it is a configuration property network variable (CPNV).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonNvUpdateCompleted"></a>LonNvUpdateCompleted</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonNvUpdateCompleted(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>success</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Signals completion of a network variable update</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>global index (local to the device) of the network variable that was processed</td></tr><tr><td class=CDLEntry>success</td><td class=CDLDescription>indicates whether the update was successful or unsuccessful</td></tr></table><h4 class=CHeading>Remarks</h4><p>This callback completes the transaction that was started by calling the <a href="#LonPropagateNv" class=LFunction id=link253 onMouseOver="ShowTip(event, 'tt7', 'link253')" onMouseOut="HideTip('tt7')">LonPropagateNv</a> or <a href="#LonPollNv" class=LFunction id=link254 onMouseOver="ShowTip(event, 'tt6', 'link254')" onMouseOut="HideTip('tt6')">LonPollNv</a> API functions.&nbsp;  The index parameter delivered with this callback matches the one from the API invocation.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonGetCurrentNvSize"></a>LonGetCurrentNvSize</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const unsigned LonGetCurrentNvSize(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Gets the current size of a network variable.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>the local index of the network variable</td></tr></table><p>Returns:    Current size of the network variable.&nbsp; Zero if the network variable corresponding to index doesn&rsquo;t exist.</p><h4 class=CHeading>Remarks</h4><p>If the network variable size is fixed, this function should return <a href="#LonGetDeclaredNvSize" class=LFunction id=link255 onMouseOver="ShowTip(event, 'tt8', 'link255')" onMouseOut="HideTip('tt8')">LonGetDeclaredNvSize</a>.&nbsp; If the network variable size is changeable, the current size should be returned.&nbsp; The default implementation for changeable type network variables returns 0, and must be updated by the application developer.</p><p>The Micro Server will not propagate a network variable with size 0, nor will it generate an update event if a network variable update is received from the network when the current network variable size is 0.</p><p>Note that even though this is a callback function, it <b>is</b> legal for the application to call <a href="#LonGetDeclaredNvSize" class=LFunction id=link256 onMouseOver="ShowTip(event, 'tt8', 'link256')" onMouseOut="HideTip('tt8')">LonGetDeclaredNvSize</a> from this callback.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonNvdDeserializeNvs"></a>LonNvdDeserializeNvs</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonNvdDeserializeNvs(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Initializes the network variable values from non-volatile storage.</p><h4 class=CHeading>Remarks</h4><p>This callback is called by the API&rsquo;s initialization routine <a href="#LonInit" class=LFunction id=link257 onMouseOver="ShowTip(event, 'tt1', 'link257')" onMouseOut="HideTip('tt1')">LonInit</a>.&nbsp; If the device contains any network variable that requires persistent storage, such as an eeprom network variable or a configuration property network variable (CPNV), the application should provide a mechanism to store and retrieve its data from persistent memory.</p><p>See <a href="#LonNvdSerializeNvs" class=LFunction id=link258 onMouseOver="ShowTip(event, 'tt50', 'link258')" onMouseOut="HideTip('tt50')">LonNvdSerializeNvs</a> for the complimentary API.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonNvdSerializeNvs"></a>LonNvdSerializeNvs</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonNvdSerializeNvs(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Updates the persistent network variable values in non-volatile storage.</p><h4 class=CHeading>Remarks</h4><p>This callback is called by the API whenever the device receives a new value for a persistent network variable from the network.&nbsp; The event is not fired when your application makes local assignments, such as assignments to properties flagged with the device_specific and manufacture attributes.</p><p>If the device contains any network variable that requires persistent storage, such as an eeprom network variable or a configuration property network variable (CPNV), the application should provide a mechanism to store and retrieve its data from persistent memory.</p><p>See <a href="#LonNvdDeserializeNvs" class=LFunction id=link259 onMouseOver="ShowTip(event, 'tt49', 'link259')" onMouseOut="HideTip('tt49')">LonNvdDeserializeNvs</a> for the complimentary API.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonMsgArrived"></a>LonMsgArrived</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonMsgArrived(</td><td class="PTypePrefix  prettyprint " nowrap>const LonReceiveAddress*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pAddress,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonCorrelator&nbsp;</td><td class="PParameter  prettyprint " nowrap>correlator,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>priority,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonServiceType&nbsp;</td><td class="PParameter  prettyprint " nowrap>serviceType,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>authenticated,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonByte&nbsp;</td><td class="PParameter  prettyprint " nowrap>code,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const LonByte*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>dataLength</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Occurs when an application message arrives.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pAddress</td><td class=CDLDescription>source and destination address (see <a href="ShortStackTypes-h.html#LonReceiveAddress" class=LType id=link260 onMouseOver="ShowTip(event, 'tt79', 'link260')" onMouseOut="HideTip('tt79')">LonReceiveAddress</a>)</td></tr><tr><td class=CDLEntry>correlator</td><td class=CDLDescription>correlator; preserve and use with <a href="#LonSendResponse" class=LFunction id=link261 onMouseOver="ShowTip(event, 'tt10', 'link261')" onMouseOut="HideTip('tt10')">LonSendResponse</a></td></tr><tr><td class=CDLEntry>priority</td><td class=CDLDescription>indicates whether its a priority message</td></tr><tr><td class=CDLEntry>serviceType</td><td class=CDLDescription>indicates the service type of the message</td></tr><tr><td class=CDLEntry>authenticated</td><td class=CDLDescription>TRUE if the message was (successfully) authenticated</td></tr><tr><td class=CDLEntry>code</td><td class=CDLDescription>message code</td></tr><tr><td class=CDLEntry>pData</td><td class=CDLDescription>pointer to message data bytes, might be NULL if dataLength is zero</td></tr><tr><td class=CDLEntry>dataLength</td><td class=CDLDescription>length of bytes pointed to by pData</td></tr></table><h4 class=CHeading>Remarks</h4><p>This callback reports the arrival of a message that is neither a network variable message, nor a non-Nv message that is otherwise processed by the Micro Server.&nbsp; Typically, this callback handler function is used with application message codes in the value range indicated by the <a href="ShortStackTypes-h.html#LonApplicationMessageCode" class=LType id=link262 onMouseOver="ShowTip(event, 'tt80', 'link262')" onMouseOut="HideTip('tt80')">LonApplicationMessageCode</a> enumeration.&nbsp; All pointers are only valid for the duration of this callback.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonResponseArrived"></a>LonResponseArrived</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonResponseArrived(</td><td class="PTypePrefix  prettyprint " nowrap>const LonResponseAddress*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pAddress,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>tag,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonByte&nbsp;</td><td class="PParameter  prettyprint " nowrap>code,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const LonByte*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>dataLength</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Occurs when a response arrived.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pAddress</td><td class=CDLDescription>source and destination address used for response (see <a href="ShortStackTypes-h.html#LonResponseAddress" class=LType id=link263 onMouseOver="ShowTip(event, 'tt81', 'link263')" onMouseOut="HideTip('tt81')">LonResponseAddress</a>)</td></tr><tr><td class=CDLEntry>tag</td><td class=CDLDescription>tag to match the response to the request</td></tr><tr><td class=CDLEntry>code</td><td class=CDLDescription>response code</td></tr><tr><td class=CDLEntry>pData</td><td class=CDLDescription>pointer to response data, might by NULL if dataLength is zero dataLength = number of bytes available through pData.</td></tr></table><h4 class=CHeading>Remarks</h4><p>This callback occurs when a message arrives in response to an earlier request, sent with the <a href="#LonSendMsg" class=LFunction id=link264 onMouseOver="ShowTip(event, 'tt16', 'link264')" onMouseOut="HideTip('tt16')">LonSendMsg</a> API.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonMsgCompleted"></a>LonMsgCompleted</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonMsgCompleted(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>tag,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>success</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Occurs when a message transaction has completed.&nbsp;  See <a href="#LonSendMsg" class=LFunction id=link265 onMouseOver="ShowTip(event, 'tt16', 'link265')" onMouseOut="HideTip('tt16')">LonSendMsg</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>tag</td><td class=CDLDescription>use to correlate the event with the message sent</td></tr><tr><td class=CDLEntry>success</td><td class=CDLDescription>TRUE for successful completion, otherwise FALSE</td></tr></table><h4 class=CHeading>Remarks</h4><p>For unacknowledged or repeated messages, the transaction is complete when the message has been sent with the configured number of retries.&nbsp; For acknowledged messages, the Micro Server calls <a href="#LonMsgCompleted" class=LFunction id=link266 onMouseOver="ShowTip(event, 'tt53', 'link266')" onMouseOut="HideTip('tt53')">LonMsgCompleted</a> with <b>success</b> set to TRUE after receiving acknowledgments from all of the destination devices, and calls <a href="#LonMsgCompleted" class=LFunction id=link267 onMouseOver="ShowTip(event, 'tt53', 'link267')" onMouseOut="HideTip('tt53')">LonMsgCompleted</a> with <b>success</b> set to FALSE if the transaction timeout period expires before receiving acknowledgements from all destinations.&nbsp;  Likewise, for request messages, the transaction is considered successful when the Micro Server receives a response from each of the destination devices, and unsuccessful if the transaction timeout expires before responses have been received from all destinations devices.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonDomainConfigReceived"></a>LonDomainConfigReceived</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonDomainConfigReceived(</td><td class="PTypePrefix  prettyprint " nowrap>const LonDomain*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pDomain,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>success</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Callback following call to <a href="#LonQueryDomainConfig" class=LFunction id=link268 onMouseOver="ShowTip(event, 'tt17', 'link268')" onMouseOut="HideTip('tt17')">LonQueryDomainConfig</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pDomain</td><td class=CDLDescription>pointer to the <a href="ShortStackTypes-h.html#LonDomain" class=LType id=link269 onMouseOver="ShowTip(event, 'tt82', 'link269')" onMouseOut="HideTip('tt82')">LonDomain</a> structure iff success is TRUE</td></tr><tr><td class=CDLEntry>success</td><td class=CDLDescription>boolean success indicator</td></tr></table><h4 class=CHeading>Remarks</h4><p>The pDomain pointer to the <a href="ShortStackTypes-h.html#LonDomain" class=LType id=link270 onMouseOver="ShowTip(event, 'tt82', 'link270')" onMouseOut="HideTip('tt82')">LonDomain</a> structure is only valid for the duration of this callback, and only if the success parameter indicates success.&nbsp; Applications that need to preserve this information beyond the duration of this callback must make a copy of the <a href="ShortStackTypes-h.html#LonDomain" class=LType id=link271 onMouseOver="ShowTip(event, 'tt82', 'link271')" onMouseOut="HideTip('tt82')">LonDomain</a> data.&nbsp; This callback is part of the optional network management query API (LON_NM_QUERY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonNvConfigReceived"></a>LonNvConfigReceived</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonNvConfigReceived(</td><td class="PTypePrefix  prettyprint " nowrap>const LonNvConfig*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pNvConfig,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>success</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Callback following call to <a href="#LonQueryNvConfig" class=LFunction id=link272 onMouseOver="ShowTip(event, 'tt18', 'link272')" onMouseOut="HideTip('tt18')">LonQueryNvConfig</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pNvConfig</td><td class=CDLDescription>pointer to the <a href="ShortStackTypes-h.html#LonNvConfig" class=LType id=link273 onMouseOver="ShowTip(event, 'tt83', 'link273')" onMouseOut="HideTip('tt83')">LonNvConfig</a> structure iff successful</td></tr><tr><td class=CDLEntry>success</td><td class=CDLDescription>boolean success indicator</td></tr></table><h4 class=CHeading>Remarks</h4><p>The pNvconfig pointer is only valid for the duration of this callback, and only if the success parameter is true.&nbsp; Applications that need to preserve this information beyond the duration of this callback must make a copy of the <a href="ShortStackTypes-h.html#LonNvConfig" class=LType id=link274 onMouseOver="ShowTip(event, 'tt83', 'link274')" onMouseOut="HideTip('tt83')">LonNvConfig</a> data.&nbsp; This callback is part of the optional network management query API (LON_NM_QUERY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonAliasConfigReceived"></a>LonAliasConfigReceived</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonAliasConfigReceived(</td><td class="PTypePrefix  prettyprint " nowrap>const LonAliasConfig*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pAliasConfig,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>success</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Callback following call to <a href="#LonQueryAliasConfig" class=LFunction id=link275 onMouseOver="ShowTip(event, 'tt19', 'link275')" onMouseOut="HideTip('tt19')">LonQueryAliasConfig</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pAliasConfig</td><td class=CDLDescription>pointer to the <a href="ShortStackTypes-h.html#LonAliasConfig" class=LType id=link276 onMouseOver="ShowTip(event, 'tt84', 'link276')" onMouseOut="HideTip('tt84')">LonAliasConfig</a> structure iff successful</td></tr><tr><td class=CDLEntry>success</td><td class=CDLDescription>boolean success indicator</td></tr></table><h4 class=CHeading>Remarks</h4><p>The pAliasConfig pointer is only valid for the duration of this callback, and only if the success parameter is true.&nbsp; Applications that need to preserve this information beyond the duration of this callback must make a copy of the <a href="ShortStackTypes-h.html#LonAliasConfig" class=LType id=link277 onMouseOver="ShowTip(event, 'tt84', 'link277')" onMouseOut="HideTip('tt84')">LonAliasConfig</a> data.&nbsp; This callback is part of the optional network management query API (LON_NM_QUERY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonAddressConfigReceived"></a>LonAddressConfigReceived</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonAddressConfigReceived(</td><td class="PTypePrefix  prettyprint " nowrap>const LonAddress*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pAddress,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>success</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Callback following call to <a href="#LonQueryAddressConfig" class=LFunction id=link278 onMouseOver="ShowTip(event, 'tt20', 'link278')" onMouseOut="HideTip('tt20')">LonQueryAddressConfig</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pAddress</td><td class=CDLDescription>pointer to the <a href="ShortStackTypes-h.html#LonAddress" class=LType id=link279 onMouseOver="ShowTip(event, 'tt85', 'link279')" onMouseOut="HideTip('tt85')">LonAddress</a> structure iff successful</td></tr><tr><td class=CDLEntry>success</td><td class=CDLDescription>boolean success indicator</td></tr></table><h4 class=CHeading>Remarks</h4><p>The pAddress pointer is only valid for the duration of this callback, and only if the success parameter is true.&nbsp; Applications that need to preserve this information beyond the duration of this callback must make a copy of the <a href="ShortStackTypes-h.html#LonAddress" class=LType id=link280 onMouseOver="ShowTip(event, 'tt85', 'link280')" onMouseOut="HideTip('tt85')">LonAddress</a> data.&nbsp; This callback is part of the optional network management query API (LON_NM_QUERY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonConfigDataReceived"></a>LonConfigDataReceived</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonConfigDataReceived(</td><td class="PTypePrefix  prettyprint " nowrap>const LonConfigData*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pConfigData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>success</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Callback following call to <a href="#LonQueryConfigData" class=LFunction id=link281 onMouseOver="ShowTip(event, 'tt21', 'link281')" onMouseOut="HideTip('tt21')">LonQueryConfigData</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pConfigData</td><td class=CDLDescription>pointer to the <a href="ShortStackTypes-h.html#LonConfigData" class=LType id=link282 onMouseOver="ShowTip(event, 'tt78', 'link282')" onMouseOut="HideTip('tt78')">LonConfigData</a> structure iff successful</td></tr><tr><td class=CDLEntry>success</td><td class=CDLDescription>boolean success indicator</td></tr></table><h4 class=CHeading>Remarks</h4><p>The pConfigData pointer is only valid for the duration of this callback, and only if the success parameter is true.&nbsp; Applications that need to preserve this information beyond the duration of this callback must make a copy of the <a href="ShortStackTypes-h.html#LonConfigData" class=LType id=link283 onMouseOver="ShowTip(event, 'tt78', 'link283')" onMouseOut="HideTip('tt78')">LonConfigData</a> data.&nbsp; This callback is part of the optional network management query API (LON_NM_QUERY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonStatusReceived"></a>LonStatusReceived</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonStatusReceived(</td><td class="PTypePrefix  prettyprint " nowrap>const LonStatus*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pStatus,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>success</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Callback following call to <a href="#LonQueryStatus" class=LFunction id=link284 onMouseOver="ShowTip(event, 'tt22', 'link284')" onMouseOut="HideTip('tt22')">LonQueryStatus</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pStatus</td><td class=CDLDescription>pointer to the <a href="ShortStackTypes-h.html#LonStatus" class=LType id=link285 onMouseOver="ShowTip(event, 'tt86', 'link285')" onMouseOut="HideTip('tt86')">LonStatus</a> structure iff successful.</td></tr><tr><td class=CDLEntry>success</td><td class=CDLDescription>boolean success indicator</td></tr></table><h4 class=CHeading>Remarks</h4><p>The pStatus pointer is only valid for the duration of this callback, and only if the success parameter is true.&nbsp; Applications that need to preserve this information beyond the duration of this callback must make a copy of the <a href="ShortStackTypes-h.html#LonStatus" class=LType id=link286 onMouseOver="ShowTip(event, 'tt86', 'link286')" onMouseOut="HideTip('tt86')">LonStatus</a> data.&nbsp; This callback is part of the optional network management query API (LON_NM_QUERY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonTransceiverStatusReceived"></a>LonTransceiverStatusReceived</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "colspan=4>extern void LonTransceiverStatusReceived(</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PTypePrefix  prettyprint " nowrap>const LonTransceiverParameters*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap width=100%>pStatus,</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap width=100%>success</td></tr><tr><td class="PAfterParameters  prettyprint "colspan=4>)</td></tr></table></td></tr></table></blockquote><p>Callback following a call to <a href="#LonQueryTransceiverStatus" class=LFunction id=link287 onMouseOver="ShowTip(event, 'tt23', 'link287')" onMouseOut="HideTip('tt23')">LonQueryTransceiverStatus</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>pStatus</td><td class=CDLDescription>pointer to the <a href="ShortStackTypes-h.html#LonTransceiverParameters" class=LType id=link288 onMouseOver="ShowTip(event, 'tt87', 'link288')" onMouseOut="HideTip('tt87')">LonTransceiverParameters</a> structure iff successful</td></tr><tr><td class=CDLEntry>success</td><td class=CDLDescription>boolean success indicator</td></tr></table><h4 class=CHeading>Remarks</h4><p>The pStatus pointer is only valid for the duration of this callback, and only if the success parameter is true.&nbsp; Applications that need to preserve this information beyond the duration of this callback must make a copy of the <a href="ShortStackTypes-h.html#LonTransceiverParameters" class=LType id=link289 onMouseOver="ShowTip(event, 'tt87', 'link289')" onMouseOut="HideTip('tt87')">LonTransceiverParameters</a> data.&nbsp; This callback is part of the optional network management query API (LON_NM_QUERY_FUNCTIONS).</p><p>The function <a href="#LonQueryTransceiverStatus" class=LFunction id=link290 onMouseOver="ShowTip(event, 'tt23', 'link290')" onMouseOut="HideTip('tt23')">LonQueryTransceiverStatus</a> only works for a Power Line transceiver.&nbsp; If your application invokes that function for any other transceiver type, this callback will declare a failure through the second parameter.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonTranslateWindowArea"></a>LonTranslateWindowArea</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonTranslateWindowArea(</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>write,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>start,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>**</td><td class="PParameter  prettyprint " nowrap>ppHostAddress,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>LonMemoryDriver&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>driver</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Utility function to translate DMF addresses.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>write</td><td class=CDLDescription>set to TRUE if write access is required, FALSE for read access</td></tr><tr><td class=CDLEntry>start</td><td class=CDLDescription>the address within the memory window, in host byte ordering</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>size of the memory read/write request in bytes</td></tr><tr><td class=CDLEntry>ppHostAddress</td><td class=CDLDescription>output, pointer will contain address of memory on host</td></tr></table><h4 class=CHeading>Remarks</h4><p>The function translates the virtual direct memory files (DMF) address (the requested virtual Smart Transceiver memory address, but provided in this host&rsquo;s byte ordering) into the true address within the host processor&rsquo;s memory space.&nbsp; The function returns one of the <b>LonMemoryDriver</b> values if the virtual memory block, starting at start and containing &lsquo;size&rsquo; bytes, can be read or written, according to the write flag.&nbsp; The actual host address will be returned through the ppHostAddress parameter; <b>LonMemoryDriverUnknown</b> will be returned for failure.&nbsp; Failure can occur if the requested area is not part of the windowed segments, if the requested area does not entirely fit into a single segment, or if the related segement does not support the required access.&nbsp; The function is used by the <a href="#LonMemoryRead" class=LFunction id=link291 onMouseOver="ShowTip(event, 'tt62', 'link291')" onMouseOut="HideTip('tt62')">LonMemoryRead</a> and <a href="#LonMemoryWrite" class=LFunction id=link292 onMouseOver="ShowTip(event, 'tt63', 'link292')" onMouseOut="HideTip('tt63')">LonMemoryWrite</a> callbacks.</p><p>Note that this function is generated by the LonTalk Interface Developer.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonMemoryRead"></a>LonMemoryRead</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonMemoryRead(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>address,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>void*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pData</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Read memory in the ShortStack device&rsquo;s memory space.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>address</td><td class=CDLDescription>virtual address of the memory to be read</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>number of bytes to read</td></tr><tr><td class=CDLEntry>pData</td><td class=CDLDescription>pointer to a buffer to store the requested data</td></tr></table><h4 class=CHeading>Remarks</h4><p>The ShortStack event handler calls <a href="#LonMemoryRead" class=LFunction id=link293 onMouseOver="ShowTip(event, 'tt62', 'link293')" onMouseOut="HideTip('tt62')">LonMemoryRead</a> whenever it receives a network management memory read request that fits into the registered file access window.&nbsp; This callback function is used to read data starting at the specified virtual Smart Transceiver memory.&nbsp; This applies to template files, configuration property value files, user-defined files, and possibly to other data.&nbsp; The address space for this command is limited to the Smart Transceiver&rsquo;s 64 KB address space.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonMemoryWrite"></a>LonMemoryWrite</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonMemoryWrite(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>address,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const void*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pData</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Update memory in the ShortStack device&rsquo;s memory space.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>address</td><td class=CDLDescription>virtual address of the memory to be update</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>number of bytes to write</td></tr><tr><td class=CDLEntry>pData</td><td class=CDLDescription>pointer to the data to write</td></tr></table><h4 class=CHeading>Remarks</h4><p>The ShortStack event handler calls <a href="#LonMemoryWrite" class=LFunction id=link294 onMouseOver="ShowTip(event, 'tt63', 'link294')" onMouseOut="HideTip('tt63')">LonMemoryWrite</a> whenever it receives a network management memory write request that fits into the registered file access window.&nbsp; This callback function is used to write data at the specified virtual Smart Transceiver memory.&nbsp;  This applies to configuration property value files, user-defined files, and possibly to other data.&nbsp; The address space for this command is limited to the Smart Transceiver&rsquo;s 64 KB address space.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonPingReceived"></a>LonPingReceived</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonPingReceived(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>The ShortStack Micro Server has sent a ping command.</p><h4 class=CHeading>Remarks</h4><p>The ShortStack Micro Server has sent a ping command.&nbsp; This command can be a response to the ping command sent by the host application to the Micro Server.&nbsp; This callback is part of the optional utility API (LON_UTILITY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonNvIsBoundReceived"></a>LonNvIsBoundReceived</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonNvIsBoundReceived(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>bound</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Callback following a call to <a href="#LonNvIsBound" class=LFunction id=link295 onMouseOver="ShowTip(event, 'tt31', 'link295')" onMouseOut="HideTip('tt31')">LonNvIsBound</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>index of the network variable</td></tr><tr><td class=CDLEntry>bound</td><td class=CDLDescription>indicates whether the network variable is bound</td></tr></table><h4 class=CHeading>Remarks</h4><p>The Micro Server has responded to the <a href="#LonNvIsBound" class=LFunction id=link296 onMouseOver="ShowTip(event, 'tt31', 'link296')" onMouseOut="HideTip('tt31')">LonNvIsBound</a> request.&nbsp; The boolean variable <b>bound</b> tells whether the network variable identified by index is bound.&nbsp; This callback is part of the optional utility API (LON_UTILITY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonMtIsBoundReceived"></a>LonMtIsBoundReceived</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonMtIsBoundReceived(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>bound</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Callback following a call to <a href="#LonMtIsBound" class=LFunction id=link297 onMouseOver="ShowTip(event, 'tt32', 'link297')" onMouseOut="HideTip('tt32')">LonMtIsBound</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>index of the message tag</td></tr><tr><td class=CDLEntry>bound</td><td class=CDLDescription>indicates whether the message tag is bound</td></tr></table><h4 class=CHeading>Remarks</h4><p>The Micro Server has responded to the <a href="#LonMtIsBound" class=LFunction id=link298 onMouseOver="ShowTip(event, 'tt32', 'link298')" onMouseOut="HideTip('tt32')">LonMtIsBound</a> request.&nbsp; The boolean variable <b>bound</b> tells whether the message tag identified by index is bound.&nbsp; This callback is part of the optional utility API (LON_UTILITY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonGoUnconfiguredReceived"></a>LonGoUnconfiguredReceived</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonGoUnconfiguredReceived(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Callback following a call to <a href="#LonGoUnconfigured" class=LFunction id=link299 onMouseOver="ShowTip(event, 'tt33', 'link299')" onMouseOut="HideTip('tt33')">LonGoUnconfigured</a>.</p><h4 class=CHeading>Remarks</h4><p>The Micro Server has responded to the <a href="#LonGoUnconfigured" class=LFunction id=link300 onMouseOver="ShowTip(event, 'tt33', 'link300')" onMouseOut="HideTip('tt33')">LonGoUnconfigured</a> request.&nbsp; If the Micro Server was in a configured state before the <a href="#LonGoUnconfigured" class=LFunction id=link301 onMouseOver="ShowTip(event, 'tt33', 'link301')" onMouseOut="HideTip('tt33')">LonGoUnconfigured</a> request was sent, it will reset after going to the unconfigured state.&nbsp; This callback is part of the optional utility API (LON_UTILITY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonGoConfiguredReceived"></a>LonGoConfiguredReceived</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonGoConfiguredReceived(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Callback following a call to <a href="#LonGoConfigured" class=LFunction id=link302 onMouseOver="ShowTip(event, 'tt34', 'link302')" onMouseOut="HideTip('tt34')">LonGoConfigured</a>.</p><h4 class=CHeading>Remarks</h4><p>The Micro Server has responded to the <a href="#LonGoConfigured" class=LFunction id=link303 onMouseOver="ShowTip(event, 'tt34', 'link303')" onMouseOut="HideTip('tt34')">LonGoConfigured</a> request.&nbsp; The Micro Server will not reset after going into the configured state unless some serious error, such as an application checksum error, is detected in the process.&nbsp; This callback is part of the optional utility API (LON_UTILITY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonAppSignatureReceived"></a>LonAppSignatureReceived</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonAppSignatureReceived(</td><td class="PType  prettyprint " nowrap>LonWord&nbsp;</td><td class="PParameter  prettyprint " nowrap>appSignature</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Callback following a call to <a href="#LonQueryAppSignature" class=LFunction id=link304 onMouseOver="ShowTip(event, 'tt35', 'link304')" onMouseOut="HideTip('tt35')">LonQueryAppSignature</a>.</p><h4 class=CHeading>Parameter</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>appSignature</td><td class=CDLDescription>Micro Server&rsquo;s copy of the host&rsquo;s application signature</td></tr></table><h4 class=CHeading>Remarks</h4><p>The Micro Server has responded to the <a href="#LonQueryAppSignature" class=LFunction id=link305 onMouseOver="ShowTip(event, 'tt35', 'link305')" onMouseOut="HideTip('tt35')">LonQueryAppSignature</a> request.&nbsp; If the <b>bInvalidate</b> flag was set to TRUE in the <a href="#LonQueryAppSignature" class=LFunction id=link306 onMouseOver="ShowTip(event, 'tt35', 'link306')" onMouseOut="HideTip('tt35')">LonQueryAppSignature</a> request, the Micro Server has already invalidated the signature by the time this callback is called.&nbsp; This callback is part of the optional utility API (LON_UTILITY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonVersionReceived"></a>LonVersionReceived</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonVersionReceived(</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>appMajor,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>appMinor,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>appBuild,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>coreMajor,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>coreMinor,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>coreBuild</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Callback following a call to <a href="#LonQueryVersion" class=LFunction id=link307 onMouseOver="ShowTip(event, 'tt36', 'link307')" onMouseOut="HideTip('tt36')">LonQueryVersion</a>.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>appMajor</td><td class=CDLDescription>the major version number for the Micro Server application, 0..255</td></tr><tr><td class=CDLEntry>appMinor</td><td class=CDLDescription>the minor version number for the Micro Server application, 0..255</td></tr><tr><td class=CDLEntry>appBuild</td><td class=CDLDescription>the build number for the Micro Server application, 0..255</td></tr><tr><td class=CDLEntry>coreMajor</td><td class=CDLDescription>the major version number for the Micro Server core library, 0..255</td></tr><tr><td class=CDLEntry>coreMinor</td><td class=CDLDescription>the minor version number for the Micro Server core library, 0..255</td></tr><tr><td class=CDLEntry>coreBuild</td><td class=CDLDescription>the build number for the Micro Server core library, 0..255</td></tr></table><h4 class=CHeading>Remarks</h4><p>The Micro Server has responded to a <a href="#LonQueryVersion" class=LFunction id=link308 onMouseOver="ShowTip(event, 'tt36', 'link308')" onMouseOut="HideTip('tt36')">LonQueryVersion</a> request.&nbsp; This callback is part of the optional utility API (LON_UTILITY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonEchoReceived"></a>LonEchoReceived</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonEchoReceived(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonByte&nbsp;</td><td class="PParameter  prettyprint " nowrap>data[LON_ECHO_SIZE]</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Callback following a call to <a href="#LonRequestEcho" class=LFunction id=link309 onMouseOver="ShowTip(event, 'tt37', 'link309')" onMouseOut="HideTip('tt37')">LonRequestEcho</a>.</p><h4 class=CHeading>Parameters</h4><p>LON_ECHO_SIZE payload bytes, as sent through <a href="#LonRequestEcho" class=LFunction id=link310 onMouseOver="ShowTip(event, 'tt37', 'link310')" onMouseOut="HideTip('tt37')">LonRequestEcho</a>, but modified by the Micro Server by adding one to each byte, using an unsigned 8-bit addition without overflow detection.</p><h4 class=CHeading>Remarks</h4><p>The Micro Server has responded to a <a href="#LonRequestEcho" class=LFunction id=link311 onMouseOver="ShowTip(event, 'tt37', 'link311')" onMouseOut="HideTip('tt37')">LonRequestEcho</a> request.&nbsp; The host application should now confirm that the echoed data matches the expectations; mismatching data can indicate an incorrect host application or link layer driver, or permanent or transient link layer errors.&nbsp; These link layer errors could, for example, be introduced by incorrect line termination, excessive coupling or cross-talk, or by excessive or out-of-sync link layer bit rates.&nbsp; This callback is part of the optional utility API (LON_UTILITY_FUNCTIONS).</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonCustomCommunicationParameters"></a>LonCustomCommunicationParameters</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern LonBool LonCustomCommunicationParameters(</td><td class="PTypePrefix  prettyprint " nowrap>LonByte*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pParameters</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Callback to enforce application-specific communication parameters.</p><h4 class=CHeading>Parameters</h4><p>params: A pointer to 16 communication parameter bytes</p><h4 class=CHeading>Result</h4><p>A boolean flag, indicating whether custom communication parameters have been set.</p><h4 class=CHeading>Remarks</h4><p>WARNING!&nbsp; Use the <a href="#LonCustomCommunicationParameters" class=LFunction id=link312 onMouseOver="ShowTip(event, 'tt72', 'link312')" onMouseOut="HideTip('tt72')">LonCustomCommunicationParameters</a> API with caution, as the specification of incorrect communication parameters may prevent further communication with the Micro Server over the link layer and/or the network, and may render the Micro Server permanently defunct.</p><p>By default, IzoT ShortStack uses the default communication parameters and clocking preferences which are programmed into the Micro Server.&nbsp; For example, the SS430_FT6050_SYS20000kHz standard Micro Server is configured for a TP/FT-10 transceiver attached to an FT 6050 chip configured for 20MHz system clock, while the SS430_PL3170_PL20C_SYS10000kHz Micro Server is configured for a PL-20C transceiver attached to a PL 3170 chip configured for a 10MHz clock.</p><p>We recommend that you use the Micro Server&rsquo;s default communication parameters and clock settings where possible.</p><p>You could use the <a href="#LonCustomCommunicationParameters" class=LFunction id=link313 onMouseOver="ShowTip(event, 'tt72', 'link313')" onMouseOut="HideTip('tt72')">LonCustomCommunicationParameters</a> callback, for example, to configure the same Micro Server for power line communications in a CENELEC member state or affiliate using the PL-20C transceiver type, and for communication in countries not governed by CENELEC using the PL-20N transceiver type.&nbsp; You application could, for example, select the communication parameter record suitable for the device&rsquo;s shipping destination based on a jumper setting.</p><p>To use this feature, write the desired 16 communication parameter bytes and return a logical true value to activate them.</p><p>PL 3120, PL 3170 and PL 3150 based Smart Transceivers, operating on an external 10MHz crystal, may be configured for the following C-band power line channels:</p><p>Transceiver PL-20C, algorithm 1, clock 10MHz * 1/2 / 1.000000 at OSC1 Communication Parameters   0x05.5E.00.3F.A6.77.67.00.08.4A.00.00.10.00.00.00</p><p>Transceiver PL-20C-LOW, algorithm 1, clock 10MHz * 1/2 / 1.000000 at OSC1 Communication Parameters   0x05.5E.00.3F.A6.77.67.00.08.4A.00.00.12.00.00.00</p><p>Transceiver PL-20N, algorithm 1, clock 10MHz * 1/2 / 1.000000 at OSC1 Communication Parameters   0x05.5E.00.3F.A6.77.67.00.08.0E.01.00.10.00.00.00</p><p>Transceiver PL-20N-LOW, algorithm 1, clock 10MHz * 1/2 / 1.000000 at OSC1 Communication Parameters   0x05.5E.00.3F.A6.77.67.00.08.0E.01.00.12.00.00.00</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonEncrypt"></a>LonEncrypt</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern LonApiError LonEncrypt(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>inSize,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>inData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>unsigned*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>outSize,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>**</td><td class="PParameter  prettyprint " nowrap>outData</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Callback to engage the application-specific encryption algorithm.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>the global index of the related network variable, or -1 if none</td></tr><tr><td class=CDLEntry>inSize</td><td class=CDLDescription>the number of bytes that are to be encrypted</td></tr><tr><td class=CDLEntry>inData</td><td class=CDLDescription>pointer to first byte that is to be encrypted</td></tr><tr><td class=CDLEntry>outSize</td><td class=CDLDescription>output parameter, points to variable holding size of encrypted data in bytes</td></tr><tr><td class=CDLEntry>outData</td><td class=CDLDescription>output parameter, points to pointer to encrypted data</td></tr></table><h4 class=CHeading>Remarks</h4><p>The function encrypts &lt;inSize&gt; bytes, starting at &lt;inData&gt;, and writes the result into a buffer allocated by the function itself.&nbsp; The buffer must remain valid after returning from <a href="#LonEncrypt" class=LFunction id=link314 onMouseOver="ShowTip(event, 'tt73', 'link314')" onMouseOut="HideTip('tt73')">LonEncrypt</a>, but may be re-used with the next call to a <a href="#LonEncrypt" class=LFunction id=link315 onMouseOver="ShowTip(event, 'tt73', 'link315')" onMouseOut="HideTip('tt73')">LonEncrypt</a> or <a href="#LonDecipher" class=LFunction id=link316 onMouseOver="ShowTip(event, 'tt74', 'link316')" onMouseOut="HideTip('tt74')">LonDecipher</a> function.&nbsp; If successful, the output parameters &lt;outSize&gt; and &lt;outData&gt; provide access to this buffer.&nbsp; The function is required to provide its own buffer; in-situ encryption, overwriting &lt;inData&gt;, is not permitted.&nbsp; The function returns results through the standard <a href="ShortStackTypes-h.html#LonApiError" class=LType id=link317 onMouseOver="ShowTip(event, 'tt3', 'link317')" onMouseOut="HideTip('tt3')">LonApiError</a> enumeration.&nbsp; The algorithm used with <a href="#LonEncrypt" class=LFunction id=link318 onMouseOver="ShowTip(event, 'tt73', 'link318')" onMouseOut="HideTip('tt73')">LonEncrypt</a> must be reversible through <a href="#LonDecipher" class=LFunction id=link319 onMouseOver="ShowTip(event, 'tt74', 'link319')" onMouseOut="HideTip('tt74')">LonDecipher</a>.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonDecipher"></a>LonDecipher</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern LonApiError LonDecipher(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>inSize,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>inData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>unsigned*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>outSize,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>**</td><td class="PParameter  prettyprint " nowrap>outData</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Callback to engage the application-specific decryption algorithm.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>index</td><td class=CDLDescription>the global index of the related network variable, or -1 if none</td></tr><tr><td class=CDLEntry>inSize</td><td class=CDLDescription>the number of bytes that are to be decrypted</td></tr><tr><td class=CDLEntry>inData</td><td class=CDLDescription>pointer to first byte that is to be decrypted</td></tr><tr><td class=CDLEntry>outSize</td><td class=CDLDescription>output parameter, points to variable holding size of decrypted data in bytes</td></tr><tr><td class=CDLEntry>outData</td><td class=CDLDescription>output parameter, points to pointer to decrypted data</td></tr></table><h4 class=CHeading>Remarks</h4><p>The function decrypts &lt;inSize&gt; bytes, starting at &lt;inData&gt;, and writes the result into a buffer allocated by the function itself.&nbsp; The buffer must remain valid after returning from LonDecipher(), but may be re-used with the next call to a <a href="#LonEncrypt" class=LFunction id=link320 onMouseOver="ShowTip(event, 'tt73', 'link320')" onMouseOut="HideTip('tt73')">LonEncrypt</a> or <a href="#LonDecipher" class=LFunction id=link321 onMouseOver="ShowTip(event, 'tt74', 'link321')" onMouseOut="HideTip('tt74')">LonDecipher</a> function.&nbsp; If successful, the output parameters &lt;outSize&gt; and &lt;outData&gt; provide access to this buffer.&nbsp; The function is required to provide its own buffer; in-situ encryption, overwriting &lt;inData&gt;, is not permitted.&nbsp; The function returns results through the standard <a href="ShortStackTypes-h.html#LonApiError" class=LType id=link322 onMouseOver="ShowTip(event, 'tt3', 'link322')" onMouseOut="HideTip('tt3')">LonApiError</a> enumeration.&nbsp; The algorithm used with <a href="#LonDecipher" class=LFunction id=link323 onMouseOver="ShowTip(event, 'tt74', 'link323')" onMouseOut="HideTip('tt74')">LonDecipher</a> must be reversible through <a href="#LonEncrypt" class=LFunction id=link324 onMouseOver="ShowTip(event, 'tt73', 'link324')" onMouseOut="HideTip('tt73')">LonEncrypt</a>.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonResume"></a>LonResume</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">extern const LonApiError LonResume()</td></tr></table></blockquote><p>Resumes a suspended link layer driver.</p><h4 class=CHeading>Remarks</h4><p>The LonResume function requests that a suspended link layer driver resume normal operation.&nbsp; Use <a href="#LonSuspend" class=LFunction id=link325 onMouseOver="ShowTip(event, 'tt76', 'link325')" onMouseOut="HideTip('tt76')">LonSuspend</a> to suspend the link layer driver.</p><p>Note that the suspend and resume functionality are optional driver features not supported by all implementations.&nbsp; Implementations which do not support this API are expected to return LonApiNotSupported.</p></div></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="LonSuspend"></a>LonSuspend</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonSuspend(</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>mode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>timeout</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Suspends a link layer driver.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>mode</td><td class=CDLDescription>implementation-specific suspend mode flags</td></tr></table><h4 class=CHeading>Remarks</h4><p>The LonSuspend() function passes the suspend request to the driver&rsquo;s optional LdvSuspend() API, using suspend mode flags defined by this driver implementation.&nbsp; See LDV_SUSPEND_* flags defined in <a href="ldv-h.html#ldv.h" class=LFile >ldv.h</a> for suspend options supported by the current driver.&nbsp; Use &lt;LonResume&gt;() to resume normal operation.</p></div></div></div>

</div><!--Content-->


<div id=Footer><a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->


<div id=Menu><div class=MEntry><div class=MFile><a href="ldv-h.html">ldv.h</a></div></div><div class=MEntry><div class=MFile><a href="LonPlatform-h.html">LonPlatform.h</a></div></div><div class=MEntry><div class=MFile id=MSelected>SHORTSTACK API</div></div><div class=MEntry><div class=MFile><a href="ShortStackIsiApi-h.html">SHORTSTACK ISI API</a></div></div><div class=MEntry><div class=MFile><a href="ShortStackIsiTypes-h.html">SHORTSTACK ISI TYPES</a></div></div><div class=MEntry><div class=MFile><a href="ShortStackTypes-h.html">SHORTSTACK TYPES</a></div></div><div class=MEntry><div class=MFile><a href="ShortStackApi-c.html">ShortStackApi.c</a></div></div><div class=MEntry><div class=MFile><a href="ShortStackHandlers-c.html">ShortStackHandlers.c</a></div></div><div class=MEntry><div class=MFile><a href="ShortStackIsiApi-c.html">ShortStackIsiApi.c</a></div></div><div class=MEntry><div class=MFile><a href="ShortStackIsiHandlers-c.html">ShortStackIsiHandlers.c</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Index</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MIndex><a href="../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Files.html">Files</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Macros.html">Macros</a></div></div><div class=MEntry><div class=MIndex><a href="../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Files">Files</option><option value="Functions">Functions</option><option value="Macros">Macros</option><option value="Types">Types</option></select></div></div><!--Menu-->



<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonInit(</td><td class="PType  prettyprint " nowrap>LdvCtrl&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>ctrl</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Initializes the ShortStack LonTalk Compact API and Micro Server</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonReinit(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>LonApiError</div></div><div class=CToolTip id="tt3"><div class=CType>ShortStack LonTalk Compact 2.1 API error codes.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonExit(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Closes down the serial driver, prepares the application for exiting.</div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonEventHandler(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Periodic service to the ShortStack LonTalk Compact API.</div></div><div class=CToolTip id="tt6"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonPollNv(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Polls a bound, polling, input network variable.</div></div><div class=CToolTip id="tt7"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonPropagateNv(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Propagates the value of a bound output network variable to the network.</div></div><div class=CToolTip id="tt8"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const unsigned LonGetDeclaredNvSize(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the declared size of a network variable.</div></div><div class=CToolTip id="tt9"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern volatile void* const LonGetNvValue(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns a pointer to the network variable value.</div></div><div class=CToolTip id="tt10"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonSendResponse(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonCorrelator&nbsp;</td><td class="PParameter  prettyprint " nowrap>correlator,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonByte&nbsp;</td><td class="PParameter  prettyprint " nowrap>code,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const LonByte*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>length</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sends a response.</div></div><div class=CToolTip id="tt11"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonGetUniqueId(</td><td class="PTypePrefix  prettyprint " nowrap>LonUniqueId*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pId</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the unique ID (Neuron ID).</div></div><div class=CToolTip id="tt12"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonGetVersion(</td><td class="PTypePrefix  prettyprint " nowrap>LonByte*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pVersion</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Provides the link layer protocol version number.</div></div><div class=CToolTip id="tt13"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonSendServicePin(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Propagates a service pin message.</div></div><div class=CToolTip id="tt14"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonSendReset(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sends a reset message.</div></div><div class=CToolTip id="tt15"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "colspan=2>extern const volatile LonResetNotification* const LonGetLastResetNotification(</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PParameter  prettyprint " nowrap width=100%>void</td></tr><tr><td class="PAfterParameters  prettyprint "colspan=2>)</td></tr></table></td></tr></table></blockquote>Returns a pointer to the most recent reset notification, if any.</div></div><div class=CToolTip id="tt16"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonSendMsg(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>tag,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>priority,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonServiceType&nbsp;</td><td class="PParameter  prettyprint " nowrap>serviceType,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>authenticated,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const LonSendAddress*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pDestAddr,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonByte&nbsp;</td><td class="PParameter  prettyprint " nowrap>code,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const LonByte*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>length</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Send an explicit (non-NV) message.</div></div><div class=CToolTip id="tt17"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonQueryDomainConfig(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Request a copy of a local domain table record.</div></div><div class=CToolTip id="tt18"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonQueryNvConfig(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Request a copy of network variable configuration data.</div></div><div class=CToolTip id="tt19"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonQueryAliasConfig(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Request a copy of alias configuration data.</div></div><div class=CToolTip id="tt20"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonQueryAddressConfig(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Request a copy of address table configuration data.</div></div><div class=CToolTip id="tt21"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonQueryConfigData(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Request a copy of local configuration data.</div></div><div class=CToolTip id="tt22"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonQueryStatus(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Request local status and statistics.</div></div><div class=CToolTip id="tt23"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonQueryTransceiverStatus(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Request local transceiver status information.</div></div><div class=CToolTip id="tt24"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "colspan=4>extern const LonApiError LonUpdateAddressConfig(</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap width=100%>index,</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PTypePrefix  prettyprint " nowrap>const LonAddress*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap width=100%>pAddress</td></tr><tr><td class="PAfterParameters  prettyprint "colspan=4>)</td></tr></table></td></tr></table></blockquote>Updates an address table record on the Micro Server.</div></div><div class=CToolTip id="tt25"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "colspan=4>extern const LonApiError LonUpdateAliasConfig(</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap width=100%>index,</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PTypePrefix  prettyprint " nowrap>const LonAliasConfig*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap width=100%>pAlias</td></tr><tr><td class="PAfterParameters  prettyprint "colspan=4>)</td></tr></table></td></tr></table></blockquote>Updates a local alias table record.</div></div><div class=CToolTip id="tt26"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "colspan=4>extern const LonApiError LonUpdateConfigData(</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PTypePrefix  prettyprint " nowrap>const LonConfigData*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap width=100%>pConfig</td></tr><tr><td class="PAfterParameters  prettyprint "colspan=4>)</td></tr></table></td></tr></table></blockquote>Updates the configuration data on the Micro Server.</div></div><div class=CToolTip id="tt27"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonUpdateDomainConfig(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const LonDomain*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pDomain</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Updates a domain table record in the Micro Server.</div></div><div class=CToolTip id="tt28"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonUpdateNvConfig(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const LonNvConfig*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pNvConfig</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Updates a network variable configuration table record in the Micro Server.</div></div><div class=CToolTip id="tt29"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonClearStatus(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Clears the status statistics on the Micro Server.</div></div><div class=CToolTip id="tt30"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonSendPing(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sends a ping command to the ShortStack Micro Server.</div></div><div class=CToolTip id="tt31"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonNvIsBound(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sends a command to the ShortStack Micro Server to query whether a given network variable is bound.</div></div><div class=CToolTip id="tt32"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonMtIsBound(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sends a command to the ShortStack Micro Server to query whether a given message tag is bound.</div></div><div class=CToolTip id="tt33"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonGoUnconfigured(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Puts the local node into the unconfigured state.</div></div><div class=CToolTip id="tt34"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonGoConfigured(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Puts the local node into the configured state.</div></div><div class=CToolTip id="tt35"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonQueryAppSignature(</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>bInvalidate</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Queries the Micro Server&rsquo;s current version of the host application signature.</div></div><div class=CToolTip id="tt36"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonQueryVersion(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Request version details from the Micro Server</div></div><div class=CToolTip id="tt37"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonRequestEcho(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonByte&nbsp;</td><td class="PParameter  prettyprint " nowrap>data[LON_ECHO_SIZE]</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Sends arbitrary test data to the Micro Server and requests a modulated echo.</div></div><div class=CToolTip id="tt38"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonSetPostResetPause(</td><td class="PType  prettyprint " nowrap>LonByte&nbsp;</td><td class="PParameter  prettyprint " nowrap>duration</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Configures the Micro Server&rsquo;s post-reset pause as 0 (zero, disabled) or in the 1..255ms range.</div></div><div class=CToolTip id="tt39"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "colspan=4>extern void LonResetOccurred(</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PTypePrefix  prettyprint " nowrap>const LonResetNotification*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap width=100%>pResetNotification</td></tr><tr><td class="PAfterParameters  prettyprint "colspan=4>)</td></tr></table></td></tr></table></blockquote>Occurs when the Micro Server has completed a reset.</div></div><div class=CToolTip id="tt40"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonWink(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Occurs when the Micro Server has received a WINK command.</div></div><div class=CToolTip id="tt41"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonOffline(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Occurs when the Micro Server has received a command to enter the offline state.</div></div><div class=CToolTip id="tt42"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonOnline(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Occurs when the Micro Server has received a command to enter the online state.</div></div><div class=CToolTip id="tt43"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonServicePinPressed(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Occurs when the service pin has been activated.</div></div><div class=CToolTip id="tt44"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonServicePinHeld(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Occurs when the service pin has been continuously activated for a configurable time.</div></div><div class=CToolTip id="tt45"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonServicePinEvent(</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>held</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Occurs when the service pin has been activated or held.</div></div><div class=CToolTip id="tt46"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonNvUpdateOccurred(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const LonReceiveAddress*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pSourceAddress</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Occurs when new input network variable data has arrived.</div></div><div class=CToolTip id="tt47"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonNvUpdateCompleted(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>success</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Signals completion of a network variable update</div></div><div class=CToolTip id="tt48"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const unsigned LonGetCurrentNvSize(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Gets the current size of a network variable.</div></div><div class=CToolTip id="tt49"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonNvdDeserializeNvs(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Initializes the network variable values from non-volatile storage.</div></div><div class=CToolTip id="tt50"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonNvdSerializeNvs(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Updates the persistent network variable values in non-volatile storage.</div></div><div class=CToolTip id="tt51"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonMsgArrived(</td><td class="PTypePrefix  prettyprint " nowrap>const LonReceiveAddress*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pAddress,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonCorrelator&nbsp;</td><td class="PParameter  prettyprint " nowrap>correlator,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>priority,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonServiceType&nbsp;</td><td class="PParameter  prettyprint " nowrap>serviceType,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>authenticated,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonByte&nbsp;</td><td class="PParameter  prettyprint " nowrap>code,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const LonByte*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>dataLength</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Occurs when an application message arrives.</div></div><div class=CToolTip id="tt52"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonResponseArrived(</td><td class="PTypePrefix  prettyprint " nowrap>const LonResponseAddress*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pAddress,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>tag,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonByte&nbsp;</td><td class="PParameter  prettyprint " nowrap>code,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const LonByte*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>dataLength</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Occurs when a response arrived.</div></div><div class=CToolTip id="tt53"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonMsgCompleted(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>tag,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>success</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Occurs when a message transaction has completed. </div></div><div class=CToolTip id="tt54"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonDomainConfigReceived(</td><td class="PTypePrefix  prettyprint " nowrap>const LonDomain*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pDomain,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>success</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Callback following call to LonQueryDomainConfig.</div></div><div class=CToolTip id="tt55"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonNvConfigReceived(</td><td class="PTypePrefix  prettyprint " nowrap>const LonNvConfig*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pNvConfig,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>success</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Callback following call to LonQueryNvConfig.</div></div><div class=CToolTip id="tt56"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonAliasConfigReceived(</td><td class="PTypePrefix  prettyprint " nowrap>const LonAliasConfig*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pAliasConfig,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>success</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Callback following call to LonQueryAliasConfig.</div></div><div class=CToolTip id="tt57"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonAddressConfigReceived(</td><td class="PTypePrefix  prettyprint " nowrap>const LonAddress*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pAddress,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>success</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Callback following call to LonQueryAddressConfig.</div></div><div class=CToolTip id="tt58"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonConfigDataReceived(</td><td class="PTypePrefix  prettyprint " nowrap>const LonConfigData*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pConfigData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>success</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Callback following call to LonQueryConfigData.</div></div><div class=CToolTip id="tt59"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonStatusReceived(</td><td class="PTypePrefix  prettyprint " nowrap>const LonStatus*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pStatus,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>success</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Callback following call to LonQueryStatus.</div></div><div class=CToolTip id="tt60"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "colspan=4>extern void LonTransceiverStatusReceived(</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PTypePrefix  prettyprint " nowrap>const LonTransceiverParameters*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap width=100%>pStatus,</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap width=100%>success</td></tr><tr><td class="PAfterParameters  prettyprint "colspan=4>)</td></tr></table></td></tr></table></blockquote>Callback following a call to LonQueryTransceiverStatus.</div></div><div class=CToolTip id="tt61"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonTranslateWindowArea(</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>write,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>start,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>char&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>**</td><td class="PParameter  prettyprint " nowrap>ppHostAddress,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>LonMemoryDriver&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>driver</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Utility function to translate DMF addresses.</div></div><div class=CToolTip id="tt62"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonMemoryRead(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>address,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>void*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pData</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Read memory in the ShortStack device&rsquo;s memory space.</div></div><div class=CToolTip id="tt63"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonMemoryWrite(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>address,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>size,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const void*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pData</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Update memory in the ShortStack device&rsquo;s memory space.</div></div><div class=CToolTip id="tt64"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonPingReceived(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>The ShortStack Micro Server has sent a ping command.</div></div><div class=CToolTip id="tt65"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonNvIsBoundReceived(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>bound</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Callback following a call to LonNvIsBound.</div></div><div class=CToolTip id="tt66"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonMtIsBoundReceived(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonBool&nbsp;</td><td class="PParameter  prettyprint " nowrap>bound</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Callback following a call to LonMtIsBound.</div></div><div class=CToolTip id="tt67"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonGoUnconfiguredReceived(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Callback following a call to LonGoUnconfigured.</div></div><div class=CToolTip id="tt68"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonGoConfiguredReceived(</td><td class="PParameter  prettyprint " nowrap>void</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Callback following a call to LonGoConfigured.</div></div><div class=CToolTip id="tt69"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonAppSignatureReceived(</td><td class="PType  prettyprint " nowrap>LonWord&nbsp;</td><td class="PParameter  prettyprint " nowrap>appSignature</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Callback following a call to LonQueryAppSignature.</div></div><div class=CToolTip id="tt70"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonVersionReceived(</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>appMajor,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>appMinor,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>appBuild,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>coreMajor,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>coreMinor,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>coreBuild</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Callback following a call to LonQueryVersion.</div></div><div class=CToolTip id="tt71"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern void LonEchoReceived(</td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>LonByte&nbsp;</td><td class="PParameter  prettyprint " nowrap>data[LON_ECHO_SIZE]</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Callback following a call to LonRequestEcho.</div></div><div class=CToolTip id="tt72"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern LonBool LonCustomCommunicationParameters(</td><td class="PTypePrefix  prettyprint " nowrap>LonByte*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameter  prettyprint " nowrap>pParameters</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Callback to enforce application-specific communication parameters.</div></div><div class=CToolTip id="tt73"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern LonApiError LonEncrypt(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>inSize,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>inData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>unsigned*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>outSize,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>**</td><td class="PParameter  prettyprint " nowrap>outData</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Callback to engage the application-specific encryption algorithm.</div></div><div class=CToolTip id="tt74"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern LonApiError LonDecipher(</td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>int&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>inSize,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>const&nbsp;</td><td class="PType  prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>*</td><td class="PParameter  prettyprint " nowrap>inData,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap>unsigned*&nbsp;</td><td class="PType  prettyprint " nowrap>const&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap></td><td class="PParameter  prettyprint " nowrap>outSize,</td></tr><tr><td></td><td class="PTypePrefix  prettyprint " nowrap></td><td class="PType  prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix  prettyprint " nowrap>**</td><td class="PParameter  prettyprint " nowrap>outData</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Callback to engage the application-specific decryption algorithm.</div></div><div class=CToolTip id="tt75"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">extern const LonApiError LonResume()</td></tr></table></blockquote>Resumes a suspended link layer driver.</div></div><div class=CToolTip id="tt76"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters  prettyprint "nowrap>extern const LonApiError LonSuspend(</td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>mode,</td></tr><tr><td></td><td class="PType  prettyprint " nowrap>unsigned&nbsp;</td><td class="PParameter  prettyprint " nowrap>timeout</td><td class="PAfterParameters  prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Suspends a link layer driver.</div></div><div class=CToolTip id="tt77"><div class=CType>Structure for uplink reset message.</div></div><div class=CToolTip id="tt78"><div class=CType>The configuration data structure.</div></div><div class=CToolTip id="tt79"><div class=CType>Receive destination and source address for incoming messages.</div></div><div class=CToolTip id="tt80"><div class=CType>Message codes used with application messages.</div></div><div class=CToolTip id="tt81"><div class=CType>Address of incoming response.</div></div><div class=CToolTip id="tt82"><div class=CType>Format for a single domain table record.</div></div><div class=CToolTip id="tt83"><div class=CType>The network variable configuration structure.</div></div><div class=CToolTip id="tt84"><div class=CType>Defines a network variable alias table record.</div></div><div class=CToolTip id="tt85"><div class=CType>Describes one record of the address table.</div></div><div class=CToolTip id="tt86"><div class=CType>Holds node status and statistics.</div></div><div class=CToolTip id="tt87"><div class=CType>Parameters for single-ended and special-purpose mode transceivers.</div></div><!--END_ND_TOOLTIPS-->




<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>


<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>